[Reconnoiter-devel] [PATCH] Allow multiple jlog subscribers to be configured

Piotr Sikora piotr.sikora at frickle.com
Fri Sep 3 00:51:04 EDT 2010


Hi Theo,

> Interestingly, this code does not change stratcond, only noitd, as 
> stratcond doesn't make use of jlogs.  The way it works:
>
> stratcon call noit and asks for a chunk of data.
> noit send stratcon a chunk (which includes a checkpoint location)
> stratcon puts each line in the appropriate on-disk journal (case 
> DS_OP_INSERT: in datastore)
> stratcon then schedules a sync of all journals (case DS_OP_CHKPT: in 
> datastore .. calling stratcon_datastore_journal_sync)
> stratcon commits to noit on the checkpoint on completion of 
> stratcon_datastore_journal_sync.
>
> I don't see how that could be failing.

Neither do I, but differences in the database prove that it is.

Some random thoughts: What happens if stratcond is killed in the middle of 
sync'ing? Are metrics removed from the on-disk journal after each INSERT of 
after successful database transaction for the whole chunk? Is the race 
condition between chunks possible or does stratcond operate on only one 
chunk at the time?

I'll try to find some time to debug this next week, maybe I'll be more 
helpful then ;)

Best regards,
Piotr Sikora < piotr.sikora at frickle.com >
 



More information about the Reconnoiter-devel mailing list