On 04/11/2011 06:58 PM, Charalampos Nikolaou wrote:
Hi, any progress on this? Because the discussion has been dormant for about a month I outline the problem:
I have some threads querying MonetDB and I get the error "current transaction abort (please rollback)". All interactions with the server are configured to be auto-committed. The strange thing is that the same code is running on top of PostGIS, with the JDBC configured to use the TRANSACTION_SERIALIZABLE policy (i.e., the same that the JDBC of MonetDB supports) and there is no problem at all.
I acknowledge that sometimes discovering race conditions is a rather difficult task, but from my side and by inspection of the JDBC logs that I have uploaded I cannot understand why the transaction is aborted. At least, the reason is not obvious to me just by inspection of the JDBC logs. Maybe the reason lies on the server side, but definitely I cannot tell for sure.
Any ideas?
Thanks, Babis
Here I have another more interesting scenario in which all go well, without transaction aborts, but some inserts have failed to be persisted in the database. All interactions are again auto-commited. The same scenario has been run successfully on Postgres. I attach an html file with the jdbc logs organized in a way helpful to understand concurrent execution of threads using different connections. This is done using a table each column of which is associated with a different connection. Again the timestamps have been mapped to natural numbers for readability purposes. At the end of each column the problems are summarized. Any ideas as to what the source of the problem may be? Thanks, Babis
Here I am again,
I have made all my interactions with the server to be auto-committed. Still I get a "current transaction abort (please rollback)" error message without understanding the reason. I have looked into the jdbc logs very carefully, I have also serialized all 6 connections, but nothing seem to be wrong. The interaction with the server is attached in sql.log (contains only the sql commands as if there was a single connection executing them). The serialized logs are attached in serial.log (there are comments about the time a connection starts/continues/ends or giving execution to another connection, and all timestamps generated from jdbc have been replaced by 1, 2, 3, and so on for readability purposes. All lines starting with % or [ have been omitted; the complete logs for each connection are also attached in monet_*.log files. All files are attached in a .zip archive.
If you can see something that I can't please report it.
Thanks a lot, Babis