Hi Christopher,
Just curious whether this is normal:

I very frequently get strange transaction numbers, that aren't monotonically increasing. For example, on a server that has only had a few statements go by:
...
2007-12-19 10:00:42,215 [INFO] pILS Commit transaction 113
2007-12-19 10:00:42,296 [INFO] pILS B 562949953421407
2007-12-19 10:00:42,296 [INFO] pILS S 562949953421407 562949953421407 select ...
2007-12-19 10:00:42,364 [INFO] pILS C 562949953421407
2007-12-19 10:00:42,477 [INFO] pILS W 115 115 insert into foo (bar) values (1)
2007-12-19 10:00:42,534 [INFO] pILS B 562949953421408
2007-12-19 10:00:42,535 [INFO] pILS W 562949953421408 562949953421408 insert into foo (bar) values (2) 2007-12-19 10:00:42,559 [INFO] pILS W 562949953421408 562949953421408 insert into foo (bar) values (2)
2007-12-19 10:00:42,585 [INFO] pILS Commit transaction 115
2007-12-19 10:00:42,650 [INFO] pILS C 562949953421408
...

I've truncated the sql statements for clarity. In this case, I have two RAIDb-1 servers for the same vdb, each receiving traffic from a number of clients simultaneously. This is part of the log for just one server. Note that I never actually see a "B 115" or a "C 115" on this host, which I would expect, but I do see it on the other host, and likewise, on the other host I never see a log message saying "B 562949953421408" or "C 562949953421408". Maybe that's normal. It's almost like one host is using a different starting point for transaction numbers than the other...

1.  Are the strange transaction numbers normal?
Yes, actually the transaction numbers are encoded on 64 bits. You can find the comments in the code of the DistributedRequestManager class:
 /**
  * Effective controllerIds are on the upper 16 bits of a long (64 bits).
* Distributed transaction ids (longs) are layed out as [ControllerId(16bits) |
  * LocalTransactionId(64bits)]. <br/>This constant used in
  * DistributedVirtualDatabase.
  */

This way depending on which controller your request arrives, it will be assigned a different transaction id.
2. It is normal to see writes twice in my logs, right? The request comes in from the client, which gets logged, and then the request is broadcast to everyone include the sender, which receives it and logs it again.
Actually it's hard to tell from this log. Multiple loggers might log the request and each controller will log it as well. So depending on what this log file represents and which logger logs this entries, that might be normal ... or not!

Hope this helps,
Emmanuel

--
Emmanuel Cecchet - Research scientist
EPFL - LABOS/DSLAB - IN.N 317
Phone: +41-21-693-7558

_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia

Reply via email to