realm / realm-object-server

Tracking of issues related to the Realm Object Server and other general issues not related to the specific SDK's
https://realm.io
293 stars 42 forks source link

Bad Changeset error #373

Closed Jonsapps closed 6 years ago

Jonsapps commented 6 years ago

Goals

I am trying to complete an inital sync

Expected Results

The sync should complete without errors

Actual Results

I have a relam that has been running for many months, the realm size is around 5GB. When a client starts an initial sync after a clean install my server CPU is maxed out to 100% and the RAM was doing the same, I have upgraded the RAM today for 16GB to 32GB and it now only takes around 50% RAM.

Not only does the inital sync take a very long time to start but eventually the client and the server show the following error

Failed to transform changeset received from client: Assertion failed: left().prior_size == right().prior_size

I have tried setting many combinations of logcompactions on/off and maxdownloadsize at varying sizes all of which do not seem to help. I have just ran the vaccum tool which reduced the realm by 30% but did not help the situation in any other way.

Steps to Reproduce

Produce a large realm with a large transaction log of hundreds of changes a day. Perform a clean install of the client.

Code Sample

N/A

Version of Realm and Tooling

Logs

systemctl status realm-object-server.service ● realm-object-server.service - Realm Object Server Loaded: loaded (/etc/systemd/system/realm-object-server.service; enabled; vendor preset: disabled) Active: inactive (dead) since Tue 2018-05-15 15:28:14 BST; 1 day 10h ago Main PID: 1006 (code=exited, status=0/SUCCESS)
sudo journalctl -u realm-object-server.service -- Logs begin at Fri 2018-05-11 16:50:07 BST, end at Thu 2018-05-17 02:08:02 BST. -- May 11 16:50:13 ***** systemd[1]: Started Realm Object Server. May 11 16:50:13 ***** systemd[1]: Starting Realm Object Server... May 11 16:50:15 ***** realm-object-server[1006]: read configuration from /etc/realm/configuration.yml. May 15 15:28:14 ***** systemd[1]: Stopping Realm Object Server... May 15 15:28:14 ***** systemd[1]: Stopped Realm Object Server.
cat /var/log/realm-object-server.log Paste output here
ianpward commented 6 years ago

@Jonsapps Your ROS is quite old if you are using systemd to start and stop it. What version are you running? We have since migrated to an npm install here: https://docs.realm.io/platform/self-hosted/installation

We have found solutions for many of the problems you have described.

Jonsapps commented 6 years ago

I'm running the very latest version 3.4.2, just updated from 2.6.2 today in the hope it would fix the issue. We start the server using the ros commands which we have setup to run with pm2

ianpward commented 6 years ago

I see - are you able to reproduce the issue? Is it possible to bump the logs to trace when you are reproducing the issue and share the logs?

astigsen commented 6 years ago

Closing this for now as it relates to a very old version of ROS, and the issue should be fixed in later versions. Please reopen if the problem resurfaces.