You may choose to use grabbit.sh to monitor your sync, or you can validate/monitor your sync by going to the following URIs:
/grabbit/job/<jobId>
/grabbit/transaction/<transactionId>
A job status has the following format :
{
"endTime": "Timestamp",
"exitStatus": {
"exitCode": "Code",
"exitDescription": "",
"running": "true/false"
},
"jcrNodesWritten": "#OfNodes",
"jobExecutionId": "JobExecutionId",
"path": "currentPath",
"startTime": "TimeStamp",
"timeTaken": "TimeInMilliSeconds",
"transactionId": "transactionId"
}
Couple of points worth noting here:
"exitCode"
can have 4 states - UNKNOWN
, COMPLETED
, FAILED
, or VALIDATION_FAILED
. UNKNOWN
means the job is still running. COMPLETED
means that the job was completed successfully. FAILED
means the job failed. VALIDATION_FAILED
means the job was aborted due to configuration; This could mean that although the configuration was valid, Grabbit refused to sync a path - for e.g, a non-existing parent path. Grabbit will not implicitly write parent nodes.
"jcrNodesWritten"
: This indicates how many nodes are currently written (increments by 1000)
"timeTaken"
: This will indicate the total time taken to complete content grab for currentPath
If exitCode
returns as UNKNOWN
, that means the job is still running and you should check for its status again.
Sample of a real Grabbit Job status
Two loggers are predefined for Grabbit. One detailing content receive operations, another for content push operations. They are grabbit-send.log and grabbit-receive.log respectively. These log files are for anything logged in com.twcable.grabbit.server and com.twcable.grabbit.client packages.
If you want to see what nodes are being written to a receiving server, change the logging for grabbit-receive.log
above to DEBUG
or TRACE
.