not able to edit pages
Asked by Tierarztpraxis Dr. Stephanie van Loosen:

Since yesterday we're not able to save an edited page- the popup says: 'no connection to server - saving actually not possible'

I tried troubleshooting with all the articles I found according to all that Synchrony stuff - but wasn't successful.

The error comes up on the server (Windows 2012) where Confluence is running when using Chrome. I checked websocket within this borwser - looks all good. We don't have any proxies in our network. It's only me who's editing pages from time to time - so it's a minimum traffic for Comfluence.

Taking a look at the logs I found this one:

2019-03-18 09:43:27 ERROR c.a.s.p.w.WebSocketProxy:49 afterConnectionEstablished - Handshake error

Does this help what I should do?

I've to mention that I'm not a sysadmin - if you give some more details for troublehsottinhg I should be able to handle it.

Kind Regards

Michael


Answers:
author: Shannon S
body: Hi Michael,

Do you have an SSL set up on that instance? You can check it from an [SSL Server Test](https://www.ssllabs.com/ssltest/) online to see if it's set up properly.

The next thing I would recommend doing is checking both y[our catalina.out and Confluence server log](https://confluence.atlassian.com/doc/working-with-confluence-logs-108364721.html) and see if you can find any further details regarding that error. It's best to include both the error line (as you have) and any lines below it that start with **caused by**.

Just in case, can you also let me know the following:

1. Database type and version
2. Confluence version
3. What might have changed yesterday that would cause this to stop working?
4. Are you behind a firewall?

Thank you for your help!

Shannon

comments: author: Tierarztpraxis Dr. Stephanie van Loosen
body: Hi Shannon,

we don't have a SSL Setup.

The databse is the original H2.

Confluence is V 6.14.0

The Windows firewall is activated by GPO since last weekend again. The Confluence and JIRA ports (8080, 8090, 8091) are enabled.

I found a catalina log:

19-Mar-2019 00:00:09.199 INFORMATION \[http-nio-8090-exec-7\] com.sun.jersey.server.impl.application.WebApplicationImpl._initiate Initiating Jersey application, version 'Jersey: 1.19.4 05/24/2017 03:20 PM'  
19-Mar-2019 00:00:09.568 INFORMATION \[http-nio-8090-exec-7\] com.sun.jersey.api.wadl.config.WadlGeneratorLoader.loadWadlGenerator Loading wadlGenerator com.sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc  
19-Mar-2019 00:00:09.569 INFORMATION \[http-nio-8090-exec-7\] com.sun.jersey.api.wadl.config.WadlGeneratorLoader.loadWadlGenerator Loading wadlGenerator com.atlassian.plugins.rest.doclet.generators.grammars.WadlGrammarsAdaptor  
19-Mar-2019 00:00:09.570 INFORMATION \[http-nio-8090-exec-7\] com.sun.jersey.api.wadl.config.WadlGeneratorLoader.loadWadlGenerator Loading wadlGenerator com.atlassian.plugins.rest.doclet.generators.resourcedoc.AtlassianWadlGeneratorResourceDocSupport  
19-Mar-2019 09:16:27.422 INFORMATION \[http-nio-8090-exec-3\] com.sun.jersey.server.impl.application.WebApplicationImpl._initiate Initiating Jersey application, version 'Jersey: 1.19.4 05/24/2017 03:20 PM'  
19-Mar-2019 09:27:19.285 INFORMATION \[http-nio-8090-exec-4\] com.sun.jersey.server.impl.application.WebApplicationImpl._initiate Initiating Jersey application, version 'Jersey: 1.19.4 05/24/2017 03:20 PM'  
19-Mar-2019 09:31:40.546 INFORMATION \[http-nio-8090-exec-6\] org.springframework.web.socket.client.WebSocketConnectionManager.startInternal Starting WebSocketConnectionManager  
19-Mar-2019 09:31:40.546 INFORMATION \[http-nio-8090-exec-6\] org.springframework.web.socket.client.WebSocketConnectionManager.openConnection Connecting to WebSocket at ws://127.0.0.1:8091/synchrony/v1/bayeux-sync1  
19-Mar-2019 09:31:40.553 INFORMATION \[SimpleAsyncTaskExecutor-1\] org.springframework.web.socket.client.WebSocketConnectionManager.onSuccess Successfully connected  
19-Mar-2019 09:34:46.038 INFORMATION \[http-nio-8090-exec-8\] org.springframework.web.socket.client.WebSocketConnectionManager.stop Stopping WebSocketConnectionManager

Does this help us?


author: Shannon S
body: Michael,

The logs here from catalina are purely informational, which is describing Confluence starting up. Unfortunately this doesn't give me any information about what the issue is.

1. Is it possible to bypass the firewall and confirm if you have the same issue?
2. The line you sent me from the logs in your original post is helpful, but I need to see more from that part of your logs. Can you trigger the page edit again, but this time, tail the Confluence server logs? I would like to see the lines surrounding that error including the ones at the bottom of the thread that tells us what is causing the issue.
3. As for using the H2 database, is this an evaluation instance only, or is this your production instance? As you may not know, the [H2 database](https://confluence.atlassian.com/doc/embedded-h2-database-145098285.html) is valid only for evaluation instances and should never be used in production.

Per the document linked above, I would advise that you migrate to a supported database as soon as possible.
> If you're using the H2 database, but running Confluence as a production system, you should start planning to migrate to a [supported database](https://confluence.atlassian.com/doc/supported-platforms-207488198.html) as soon as possible.
>
> To migrate to a supported external database:

1.
   > Check [Supported Platforms](https://confluence.atlassian.com/doc/supported-platforms-207488198.html) to find out which databases and versions are supported.
2.
   > Head to [Migrating to Another Database](https://confluence.atlassian.com/doc/migrating-to-another-database-148867.html) for a step-by-step guide.

Let me know if you have any questions.

Regards,

Shannon


author: Tierarztpraxis Dr. Stephanie van Loosen
body: Hi Shannon,

that's what I tried yesterday first to bypass the firewall - nothing changed - same error.

I got this error in the past - but it disappeared within the next minute and I was able to go on without difficulties. Maybe it is not depending with this firewall issue.

I attach a screenshot of the whole conf log of the last days - the ones I send you are marked. The first one is attached, too. I hope I understand you the right way - there are no 'caused by' lines.

![conf.png](https://community.atlassian.com/t5/image/serverpage/image-id/49053iF6C2F87A5EC62251/image-size/large?v=v2&px=999 "conf.png")![conf2.png](https://community.atlassian.com/t5/image/serverpage/image-id/49052i9B67FF34DC3B8664/image-size/large?v=v2&px=999 "conf2.png")

H2 - yes - we're already planning to switch the database.

Michael


author: Shannon S
body: Michael,

I'm happy we're at least able to rule out the firewall. Let's move onto reviewing the log files further.

Having a look at your list of log files, I'm not seeing the Confluence server log, which might be your issue. I think you might be looking in the wrong location.

The Confluence log file is called `atlassian-confluence.log.`
> Confluence uses the `atlassian-confluence.log` as its primary log, not the application server log.
>
> * Once the initial startup sequence is complete, all logging will be to`<confluence-home>/logs/atlassian-confluence.log`. For example:`c:/confluence/data/logs/atlassian-confluence.log`.
>
> Note that the default location is the Confluence**home directory** , not the application server's log file. The home directory is specified in`<confluence-installation>/confluence/WEB-INF/classes/confluence-init.properties`.
>
> - via [Working with Confluence Logs](https://confluence.atlassian.com/doc/working-with-confluence-logs-108364721.html?_ga=2.139733808.244937239.1552902932-1686092760.1551948823)

Can you just confirm the screenshot you got is from \<confluence-home\>/logs/ and not another directory? If your Confluence started up successfully, then you should definitely be able to see the `atlassian-confluence.log `file.

Looking forward to hearing from you!

Shannon


author: Tierarztpraxis Dr. Stephanie van Loosen
body: Hi Shannon,

you're right - here is the information you requested after trying to save the page again this morning:

2019-03-20 10:14:07,589 ERROR \[http-nio-8090-exec-1\] \[engine.jdbc.spi.SqlExceptionHelper\] logExceptions Zeit?berschreitung beim Versuch die Tabelle zu sperren  
Timeout trying to lock table ; SQL statement:  
delete from USERCONTENT_RELATION where RELATIONID=? \[50200-196\]  
-- referer: [http://192.168.1.4:8090/pages/resumedraft.action?draftId=753682\&draftShareId=d09462e2-01ee-4f4a-b4e9-19b46d6f5651\&](http://192.168.1.4:8090/pages/resumedraft.action?draftId=753682&draftShareId=d09462e2-01ee-4f4a-b4e9-19b46d6f5651&) \| url: /rest/api/content/753666 \| traceId: a97c9ed7d96d3191 \| userName: vanloosen.m  
2019-03-20 10:14:07,592 WARN \[http-nio-8090-exec-1\] \[confluence.impl.hibernate.ConfluenceHibernateTransactionManager\] doRollback Performing rollback. Transactions:  
-\>\[com.atlassian.confluence.api.impl.service.content.draft.ContentDraftServiceImpl.publishEditDraft\]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT (Session #983295793)  
\[null\]: PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT,readOnly (Session #1784745712)  
-- referer: [http://192.168.1.4:8090/pages/resumedraft.action?draftId=753682\&draftShareId=d09462e2-01ee-4f4a-b4e9-19b46d6f5651\&](http://192.168.1.4:8090/pages/resumedraft.action?draftId=753682&draftShareId=d09462e2-01ee-4f4a-b4e9-19b46d6f5651&) \| url: /rest/api/content/753666 \| traceId: a97c9ed7d96d3191 \| userName: vanloosen.m  
2019-03-20 10:14:07,595 ERROR \[http-nio-8090-exec-1\] \[rest.api.model.ExceptionConverter\] convertServiceException No status code found for exception, converting to internal server error :  
-- referer: [http://192.168.1.4:8090/pages/resumedraft.action?draftId=753682\&draftShareId=d09462e2-01ee-4f4a-b4e9-19b46d6f5651\&](http://192.168.1.4:8090/pages/resumedraft.action?draftId=753682&draftShareId=d09462e2-01ee-4f4a-b4e9-19b46d6f5651&) \| url: /rest/api/content/753666 \| traceId: a97c9ed7d96d3191 \| userName: vanloosen.m  
org.springframework.dao.PessimisticLockingFailureException: could not execute statement; SQL \[n/a\]; nested exception is org.hibernate.PessimisticLockException: could not execute statement  
at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:236)  
at org.springframework.orm.hibernate5.HibernateTemplate

......... ------------ \[a lot of at org. comoing up here, followed by these sections of 'caused by'\] ------------------ .......

Caused by: org.hibernate.PessimisticLockException: could not execute statement  
at org.hibernate.dialect.H2Dialect$3.convert(H2Dialect.java:352)  
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)  
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111)  
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97)  
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208)  
at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:45)  
at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3315)  
at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3552)  
at org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java:99)  
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:586)  
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:460)  
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:337)  
at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:50)  
at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1389)  
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1474)  
at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1441)  
at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1410)  
at com.atlassian.confluence.internal.relations.dao.hibernate.HibernateRelationDao.lambda$getRelationEntities$0(HibernateRelationDao.java:61)  
at org.springframework.orm.hibernate5.HibernateTemplate.doExecute(HibernateTemplate.java:361)  
... 382 more

Caused by: org.h2.jdbc.JdbcSQLException: Zeit?berschreitung beim Versuch die Tabelle zu sperren  
Timeout trying to lock table ; SQL statement:  
delete from USERCONTENT_RELATION where RELATIONID=? \[50200-196\]  
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)  
at org.h2.message.DbException.get(DbException.java:168)  
at org.h2.command.Command.filterConcurrentUpdate(Command.java:310)  
at org.h2.command.Command.executeUpdate(Command.java:262)  
at org.h2.server.TcpServerThread.process(TcpServerThread.java:354)  
at org.h2.server.TcpServerThread.run(TcpServerThread.java:158)  
at java.lang.Thread.run(Thread.java:748)

Caused by: org.h2.jdbc.JdbcSQLException: Zeile nicht gefunden beim L?schen von Index "PUBLIC.RELATION_U2C_CDATE_IDX: ( /\* key:15401081 \*/ 15401081, 753682, '40288184620659560162066eab1d0000', 'PAGE', 'touched', TIMESTAMP '2018-12-06 09:32:07.924', TIMESTAMP '2018-12-06 09:32:07.924', '40288184620659560162066eab1d0000', '40288184620659560162066eab1d0000')"  
Row not found when trying to delete from index "PUBLIC.RELATION_U2C_CDATE_IDX: ( /\* key:15401081 \*/ 15401081, 753682, '40288184620659560162066eab1d0000', 'PAGE', 'touched', TIMESTAMP '2018-12-06 09:32:07.924', TIMESTAMP '2018-12-06 09:32:07.924', '40288184620659560162066eab1d0000', '40288184620659560162066eab1d0000')" \[90112-196\]  
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)  
at org.h2.message.DbException.get(DbException.java:179)  
at org.h2.message.DbException.get(DbException.java:155)  
at org.h2.index.PageBtreeLeaf.remove(PageBtreeLeaf.java:233)  
at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:336)  
at org.h2.index.PageBtreeIndex.remove(PageBtreeIndex.java:245)  
at org.h2.index.MultiVersionIndex.remove(MultiVersionIndex.java:192)  
at org.h2.table.RegularTable.removeRow(RegularTable.java:389)  
at org.h2.command.dml.Delete.update(Delete.java:95)  
at org.h2.command.CommandContainer.update(CommandContainer.java:101)  
at org.h2.command.Command.executeUpdate(Command.java:260)  
... 3 more

Michael


author: Tierarztpraxis Dr. Stephanie van Loosen
body: Hi Shannon,

here are some more hints which I find out today:

* the problem exists only for the start page of the section (there is only one section in use so far)
* all other pages can be edited without any problem
* copying the start page and editing the copied page is possible as well

Do you have any idea what happened to the start page causing the problem?

Kind Regards

Michael


author: Shannon S
body: Michael,

Thank you for sharing those logs with me! Before proceeding any further, I would advise you to proceed with migrating off the H2 database onto a supported database. It's evident there is an issue with the database, and I believe if we migrate onto the supported database, it will allow us to troubleshoot further. It may even completely fix the problem.

Those instructions are again:
> If you're using the H2 database, but running Confluence as a production system, you should start planning to migrate to a [supported database](https://confluence.atlassian.com/doc/supported-platforms-207488198.html) as soon as possible.
>
> To migrate to a supported external database:

1.
   > Check [Supported Platforms](https://confluence.atlassian.com/doc/supported-platforms-207488198.html) to find out which databases and versions are supported.
2.
   > Head to [Migrating to Another Database](https://confluence.atlassian.com/doc/migrating-to-another-database-148867.html) for a step-by-step guide.

Please complete that process, and confirm if you still have the issue, and then we can proceed from there.

Regards,

Shannon


author: Jens Iwanenko
body: Hi Michael,

we sometimes have similar problems. I believe it happens after pasting text from other sources most of the time (Word, Excel, ...). What \*may\* help is discarding the changes and reverting to the last published version of a page. You can then redo the changes you made.

![discard-changes.png](https://community.atlassian.com/t5/image/serverpage/image-id/51215i07B19644EBFC75FD/image-size/large?v=v2&px=999 "discard-changes.png")

If you have to paste from Word, try using the "Paste Markup" option in the editor's macro menu. You will have to do any formatting in Confluence if you do that.

![paste-markup.png](https://community.atlassian.com/t5/image/serverpage/image-id/51214i8E470F15DC7485AB/image-size/large?v=v2&px=999 "paste-markup.png")

What definitely and always helps for us is just copying everything from that page and creating a new page with the copied contents. It's not a good option if you have hard coded links to the page ID somewhere, as this method will break them.

Best

Jens


Tags: confluence-server

server