-
Notifications
You must be signed in to change notification settings - Fork 15
DB structure
tmaeno edited this page Jul 30, 2019
·
29 revisions
SQLite DB tables are generated in the harvestercore/db_proxy.py. Individual table structure is defined in each *_spec.py file. The initial definitions below, but will evolve over time, so please consult the relevant spec file for the up to date structure.
'PandaID:integer primary key',
'taskID:integer',
'attemptNr:integer',
'status:text',
'subStatus:text',
'currentPriority:integer',
'computingSite:text',
'creationTime:timestamp',
'modificationTime:timestamp',
'stateChangeTime:timestamp',
'startTime:timestamp',
'endTime:timestamp',
'nCore:integer',
'jobParams:blob',
'jobAttributes:blob',
'hasOutFile:integer',
'metaData:blob',
'outputFilesToReport:blob',
'lockedBy:text',
'propagatorLock:text',
'propagatorTime:timestamp',
'preparatorTime:timestamp',
'submitterTime:timestamp',
'stagerLock:text',
'stagerTime:timestamp',
'zipPerMB:integer'
'workerID:integer',
'batchID:text',
'mapType:text',
'queueName:text',
'status:text',
'hasJob:integer',
'workParams:blob',
'workAttributes:blob',
'eventsRequestParams:blob',
'eventsRequest:integer',
'computingSite:text',
'creationTime:timestamp',
'submitTime:timestamp',
'startTime:timestamp',
'endTime:timestamp',
'nCore:integer',
'walltime:timestamp',
'accessPoint:text',
'modificationTime:timestamp',
'stateChangeTime:timestamp',
'eventFeedTime:timestamp',
'lockedBy:text',
'postProcessed:integer'
'PandaID:integer',
'workerID:integer',
'relationType:text'
'fileID:integer primary key',
'PandaID:integer',
'taskID:integer',
'lfn:text',
'status:text',
'fsize:integer',
'chksum:text',
'path:text',
'fileType:text',
'eventRangeID:text',
'modificationTime:timestamp',
'fileAttributes:blob',
'isZip:integer',
'zipFileID:integer',
'objstoreID:integer'
'mainKey:text',
'subKey:text',
'data:blob',
'lastUpdate:timestamp'
'eventRangeID:text',
'PandaID:integer',
'eventStatus:text',
'coreCount:integer',
'cpuConsumptionTime:integer',
'subStatus:text',
'fileID:integer'
'numberName:text',
'curVal:integer'
'queueName:text',
'nQueueLimitJob:integer',
'nQueueLimitWorker:integer',
'maxWorkers:integer',
'jobFetchTime:timestamp',
'submitTime:timestamp'
'command_id:integer primary key',
'command:text',
'receiver:text',
'params:blob',
'ack_requested:integer',
'processed:integer'
The table to register harvester instances.
Name | Type | Description |
---|---|---|
HARVESTER_ID | NOT NULL VARCHAR2(50) | Identifier of the harvester instance |
DESCRIPTION | VARCHAR2(200) | Description for the instance |
STARTTIME | DATE | Start time |
OWNER | VARCHAR2(100) | Owner of the instance |
HOSTNAME | VARCHAR2(100) | Hostname where the instance is running |
LASTUPDATE | DATE | Set when the record is updated |
SW_VERSION | VARCHAR2(50) | Software version |
COMMIT_STAMP | VARCHAR2(100) | Commit stamp in the repository |
The table for workers submitted by harvesters.
Name | Type | Description |
---|---|---|
HARVESTERID | NOT NULL VARCHAR2(50) | Identifier of the harvester instance |
WORKERID | NOT NULL NUMBER(11) | Identifier of the worker |
BATCHID | VARCHAR2(80) | Unique ID in the batch system |
NODEID | VARCHAR2(80) | Identifier of the node, such as hostname, IP, etc |
QUEUENAME | VARCHAR2(80) | Name of the batch queue |
STATUS | NOT NULL VARCHAR2(80) | Worker status |
COMPUTINGSITE | VARCHAR2(128) | Panda Queue name |
SUBMITTIME | DATE | Set when the worker is submitted |
STARTTIME | DATE | Set when the worker gets CPUs |
ENDTIME | DATE | Set when the worker is terminated |
NCORE | NUMBER(6) | The number of cores the worker use |
ERRORCODE | NUMBER(7) | Error code in any |
LASTUPDATE | NOT NULL DATE | Set when the record is updated |
STDOUT | VARCHAR2(250) | URL for stdout |
STDERR | VARCHAR2(250) | URL for stderr |
BATCHLOG | VARCHAR2(250) | URL for batch log |
RESOURCETYPE | VARCHAR2(56) | Resource type |
NATIVEEXITCODE | NUMBER(7) | Exit code in the underlying system |
NATIVESTATUS | VARCHAR2(80) | Status in the underlying system |
DIAGMESSAGE | VARCHAR2(500) | Error diagnostics |
COMPUTINGELEMENT | VARCHAR2(128) | Gateway of the batch system |
NJOBS | NUMBER(6) | The number of associated jobs |
SUBMISSIONHOST | VARCHAR2(128) | The host name of submission node |
The table for relationship between jobs and workers.
Name | Type | Description |
---|---|---|
HARVESTERID | NOT NULL VARCHAR2(50) | Identifier of the harvester instance |
WORKERID | NOT NULL NUMBER(11) | Identifier of the worker |
PANDAID | NOT NULL NUMBER(11) | Job ID in PanDA |
LASTUPDATE | NOT NULL DATE | Set when the record is updated |
The table for realtime statistics of harvester workers.
Name | Type | Description |
---|---|---|
HARVESTER_ID | NOT NULL VARCHAR2(50) | Identifier of the harvester instance |
COMPUTINGSITE | NOT NULL VARCHAR2(128) | Panda Queue name |
RESOURCETYPE | NOT NULL VARCHAR2(56) | Resource type |
STATUS | NOT NULL VARCHAR2(80) | Worker status |
N_WORKERS | NUMBER(7) | Number of workers |
LASTUPDATE | NOT NULL DATE | Last update time |
Command queue for harvester.
Name | Type | Description |
---|---|---|
COMMAND_ID | NOT NULL NUMBER(10) | Command ID for primary key |
COMMAND | VARCHAR2(200) | Command string |
HARVESTER_ID | VARCHAR2(50) | Identifier of the target harvester instance |
ACK_REQUESTED | NUMBER(1) | 0/1, depending on whether panda server expects and acknowledgement |
CREATION_DATE | DATE | Timestamp when the command was generated |
STATUS | VARCHAR2(32) | Status of the call: new, retrieved, acknowledged... |
STATUS_DATE | DATE | Timestamp when the status last changed |
PARAMS | CLOB | Parameters for the call |
Exclusive locks to send commands to harvester.
Name | Type | Description |
---|---|---|
HARVESTER_ID | NOT NULL VARCHAR2(50) | Identifier of the target harvester instance |
COMPUTINGSITE | NOT NULL VARCHAR2(128) | Panda Queue name |
RESOUCETYPE | NOT NULL VARCHAR2(56) | Resource type |
COMMAND | NOT NULL VARCHAR2(200) | Command string |
LOCKEDTIME | DATE | Timestamp when the command is locked |
LOCKEDBY | VARCHAR2(40) | Process name which locks the command |
Dialog messages from harvester instances.
Name | Type | Description |
---|---|---|
HARVESTER_ID | NOT NULL VARCHAR2(50) | Identifier of the target harvester instance |
DIAGID | NOT NULL NUMBER(11) | Serial number of the message |
MODULENAME | VARCHAR2(100) | The module name which sent the message |
IDENTIFIER | VARCHAR2(100) | Identifier of the message if any |
CREATIONTIME | DATE | Timestamp when the message is sent |
MESSAGELEVEL | VARCHAR2(10) | Message level |
DIAGMESSAGE | VARCHAR2(500) | Dialog message |
The table defines the number of available slots at Panda Queues mainly for workload provisioning.
Name | Type | Description |
---|---|---|
PANDAQUEUENAME | NOT NULL VARCHAR2(128) | Panda Queue name |
GSHARE | VARCHAR2(32) | Global share |
RESOURCETYPE | VARCHAR2(56) | Resource type |
NUMSLOTS | NOT NULL NUMBER(11) | The number of slots |
MODIFICATIONTIME | NOT NULL DATE | When the record was updated |
EXPIRATIONTIME | DATE | When the record expires |
Getting started |
---|
Installation and configuration |
Testing and running |
Debugging |
Work with Middleware |
Admin FAQ |
Development guides |
---|
Development workflow |
Tagging |
Production & commissioning |
---|
Scale up submission |
Condor experiences |
Commissioning on the grid |
Production servers |
Service monitoring |
Auto Queue Configuration with CRIC |
SSH+RPC middleware setup |
Kubernetes section |
---|
Kubernetes setup |
X509 credentials |
AWS setup |
GKE setup |
CERN setup |
CVMFS installation |
Generic service accounts |
Advanced payloads |
---|
Horovod integration |