Hi Karl/All,
I am upgrading from MCF v2.6 supported by PostgreSQL v 9.3.16
to MCF v2.10. I wonder if there is any official advice as to which version of
PostgreSQL will support MCF v2.10? The MCF v2.10 build and deployment
instructions still suggest that PostgreSQL 9.3 is the latest tested version of
PostgreSQL. Given that PostgreSQL 9.3.x is going end of life next month (
Sept 2018), is there a preferred newer version that should be used?
As an experiment I have installed MCF 2.10 supported by PostgreSQL 10.4. From
the outside all seems to work OK, but investigation of the PostgreSQL logs
shows a lot of errors:
e.g.
"2018-08-03 15:50:00.629 BST [7920] LOG: database system was shut down at
2018-08-03 15:47:30 BST
2018-08-03 15:50:00.734 BST [6344] LOG: database system is ready to accept
connections
2018-08-03 15:52:11.140 BST [6460] WARNING: there is already a transaction in
progress
2018-08-03 15:52:11.219 BST [6460] WARNING: there is no transaction in progress
2018-08-03 15:52:13.844 BST [5716] WARNING: there is already a transaction in
progress
2018-08-03 15:52:13.879 BST [5716] WARNING: there is no transaction in progress
2018-08-03 15:52:25.218 BST [4140] ERROR: could not serialize access due to
read/write dependencies among transactions
2018-08-03 15:52:25.218 BST [4140] DETAIL: Reason code: Canceled on
identification as a pivot, during conflict in checking.
2018-08-03 15:52:25.218 BST [4140] HINT: The transaction might succeed if
retried.
2018-08-03 15:52:25.218 BST [4140] STATEMENT: INSERT INTO jobqueue
(jobid,docpriority,checktime,docid,needpriority,dochash,id,checkaction,status)
VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9)
2018-08-03 15:52:25.219 BST [5800] ERROR: could not serialize access due to
read/write dependencies among transactions
2018-08-03 15:52:25.219 BST [5800] DETAIL: Reason code: Canceled on
identification as a pivot, during conflict in checking.
2018-08-03 15:52:25.219 BST [5800] HINT: The transaction might succeed if
retried.
2018-08-03 15:52:25.219 BST [5800] STATEMENT: INSERT INTO jobqueue
(jobid,docpriority,checktime,docid,needpriority,dochash,id,checkaction,status)
VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9)
2018-08-03 15:52:25.222 BST [5692] ERROR: could not serialize access due to
read/write dependencies among transactions
2018-08-03 15:52:25.222 BST [5692] DETAIL: Reason code: Canceled on
identification as a pivot, during conflict in checking.
2018-08-03 15:52:25.222 BST [5692] HINT: The transaction might succeed if
retried.
2018-08-03 15:52:25.222 BST [5692] STATEMENT: INSERT INTO jobqueue
(jobid,docpriority,checktime,docid,needpriority,dochash,id,checkaction,status)
VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9)
2018-08-03 15:52:28.149 BST [4140] ERROR: could not serialize access due to
read/write dependencies among transactions
2018-08-03 15:52:28.149 BST [4140] DETAIL: Reason code: Canceled on
identification as a pivot, during write.
2018-08-03 15:52:28.149 BST [4140] HINT: The transaction might succeed if
retried.
2018-08-03 15:52:28.149 BST [4140] STATEMENT: UPDATE intrinsiclink SET
processid=$1,isnew=$2 WHERE jobid=$3 AND parentidhash=$4 AND linktype=$5 AND
childidhash=$6
2018-08-03 15:52:28.261 BST [5156] ERROR: could not serialize access due to
read/write dependencies among transactions
2018-08-03 15:52:28.261 BST [5156] DETAIL: Reason code: Canceled on
identification as a pivot, during write.
2018-08-03 15:52:28.261 BST [5156] HINT: The transaction might succeed if
retried."
And
"2018-08-03 15:52:42.855 BST [5272] ERROR: could not serialize access due to
concurrent update
2018-08-03 15:52:42.855 BST [5272] STATEMENT: SELECT id,status,checktime FROM
jobqueue WHERE dochash=$1 AND jobid=$2 FOR UPDATE
2018-08-03 15:52:42.855 BST [7424] ERROR: could not serialize access due to
concurrent update
2018-08-03 15:52:42.855 BST [7424] STATEMENT: SELECT id,status,checktime FROM
jobqueue WHERE dochash=$1 AND jobid=$2 FOR UPDATE
2018-08-03 15:52:42.855 BST [5716] ERROR: could not serialize access due to
concurrent update
2018-08-03 15:52:42.855 BST [5716] STATEMENT: SELECT id,status,checktime FROM
jobqueue WHERE dochash=$1 AND jobid=$2 FOR UPDATE
2018-08-03 15:52:42.856 BST [1328] ERROR: could not serialize access due to
concurrent update
2018-08-03 15:52:42.856 BST [1328] STATEMENT: SELECT id,status,checktime FROM
jobqueue WHERE dochash=$1 AND jobid=$2 FOR UPDATE
2018-08-03 15:52:42.856 BST [5800] ERROR: could not serialize access due to
concurrent update
2018-08-03 15:52:42.856 BST [5800] STATEMENT: SELECT id,status,checktime FROM
jobqueue WHERE dochash=$1 AND jobid=$2 FOR UPDATE"
Do you have any advice as to whether it is sensible to use PostgreSQL v10.x
and if so can these errors be overcome?
Best Regards,
Guy
Unless otherwise stated, this email has been sent from Fujitsu Services Limited
(registered in England No 96056); Fujitsu EMEA PLC (registered in England No
2216100) both with registered offices at: 22 Baker Street, London W1U 3BW; PFU
(EMEA) Limited, (registered in England No 1578652) and Fujitsu Laboratories of
Europe Limited (registered in England No. 4153469) both with registered offices
at: Hayes Park Central, Hayes End Road, Hayes, Middlesex, UB4 8FE.
This email is only for the use of its intended recipient. Its contents are
subject to a duty of confidence and may be privileged. Fujitsu does not
guarantee that this email has not been intercepted and amended or that it is
virus-free.