Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.
02-28-2021 11:05 PM
Hi Team,
Greetings !!
I have a concern regarding the files keep on groing in number and size under /databases/graph.db/
May I know the importance of these files ?
Can we delete these files as they piled up and taking about 500 GB on my server ?
What will be the impact if we delete these files ?
Files are given below & all files are attached in topic.Neo4j_files_graphdb.txt (114.2 KB)
-rw-r--r-- 1 root root 1.3G Feb 28 07:55 neostore.transaction.db.30899
-rw-r--r-- 1 root root 1.3G Mar 1 07:58 neostore.transaction.db.31048
-rw-r--r-- 1 root root 1.3G Feb 20 07:47 neostore.transaction.db.29785
-rw-r--r-- 1 root root 1.3G Feb 24 04:34 neostore.transaction.db.30361
-rw-r--r-- 1 root root 1.3G Feb 25 08:00 neostore.transaction.db.30509
-rw-r--r-- 1 root root 1.3G Feb 22 07:52 neostore.transaction.db.30094
-rwxrwxrwx 1 neo4j neo4j 1.8G Mar 1 07:58 neostore.nodestore.db
-rwxrwxrwx 1 neo4j neo4j 2.2G Mar 1 07:58 neostore.relationshipstore.db
-rwxrwxrwx 1 neo4j neo4j 20G Mar 1 07:58 neostore.propertystore.db.strings
-rwxrwxrwx 1 neo4j neo4j 37G Mar 1 07:58 neostore.propertystore.db
Regards
Akshat
03-01-2021 04:20 AM
03-01-2021 04:39 AM
Hello Dana,
Thank you so much for taking up the query !!
Reagrds
Akshat
03-01-2021 04:41 AM
as previously stated
- no you should not be deleting files under graph.db and outside of the products normal operation
and as to how to manage the size/rotation/retention and as previously stated please see
if it is about neostore.transaction.db then see Transaction logs - Operations Manual
03-01-2021 04:43 AM
the files in order represent
if you were to manually delete said files ( and no I'm not recommending manually deleteing) but if you were then you would lose all node relationships, all properties which are strings, all other properties... which would thus leave the graph fairly useless
03-11-2021 09:57 PM
Hello Dana ,
Apologies for my late reply !!
I tried to set this parameter in my conf file and tried to start neo4j process.
dbms.tx_log.rotation.retention_policy=100M size
Process got started but it has not removed the transaction files from graph.db folder.
Can u pls suggest more ??
Regards
Akshat
03-12-2021 03:22 AM
@akshat.mittal
Transaction rotation occurs at checkpoint time. Have you experienced a checkpoint and not yet had transaction logs rotated
03-12-2021 03:39 AM
Hello Dana ,
Actually , I am unable to understand the things here . My bad.
Can i share my logs and check whether checkpoint is reached or not ??
Regards
Akshat
03-12-2021 03:56 AM
grep -i check debug.log | grep -i point
will report when it last checkpointed
03-12-2021 04:08 AM
03-12-2021 04:54 AM
Hi Dana,
I found the below entry with check point in logs -
[root@JMNGD1BCE110V01 logs]# grep -i point debug.log
2021-03-02 17:03:29.758+0530 INFO [o.n.i.d.DiagnosticsManager] sun.java.command = com.neo4j.server.enterprise.CommercialEntryPoint --home-dir=/localdata/neo4j-enterprise-3.5.3 --config-dir=/localdata/neo4j-enterprise-3.5.3/conf
at com.neo4j.server.enterprise.CommercialEntryPoint.main(CommercialEntryPoint.java:22)
2021-03-02 17:09:28.211+0530 INFO [o.n.i.d.DiagnosticsManager] sun.java.command = com.neo4j.server.enterprise.CommercialEntryPoint --home-dir=/localdata/neo4j-enterprise-3.5.3 --config-dir=/localdata/neo4j-enterprise-3.5.3/conf
at com.neo4j.server.enterprise.CommercialEntryPoint.main(CommercialEntryPoint.java:22)
2021-03-02 17:19:40.738+0530 INFO [o.n.k.NeoStoreDataSource] Commits found after last check point (which is at LogPosition{logVersion=30509, byteOffset=129969818}). First txId after last checkpoint: 11302639
at com.neo4j.server.enterprise.CommercialEntryPoint.main(CommercialEntryPoint.java:22)
Regards
Akshat
03-13-2021 05:12 AM
Provided this is Neo4j 3.5.3? correct? ????
checkpoint will be logged in the logs\debug.log similar to
2021-03-13 13:08:07.536+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Checkpoint triggered by database shutdown @ txId: 4 checkpoint started...
2021-03-13 13:08:07.552+0000 INFO [o.n.k.i.s.c.CountsTracker] Rotated counts store at transaction 4 to [/home/neo4j/cluster/instance1/neo4j-enterprise-3.5.3/data/databases/graph.db/neostore.counts.db.b], from [/home/neo4j/cluster/instance1/neo4j-enterprise-3.5.3/data/databases/graph.db/neostore.counts.db.a].
2021-03-13 13:08:07.588+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Checkpoint triggered by database shutdown @ txId: 4 checkpoint completed in 52ms
not the 1st line that reports Checkpoint triggered by database shutdown
and specifically the by database shutdown
may be different since checkpoint can happen for various reasons.
So a better and more precise grep
is
grep 'Checkpoint triggered' debug.log
which thus would give output similar to
2021-03-13 13:08:07.536+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Checkpoint triggered by database shutdown @ txId: 4 checkpoint started...
2021-03-13 13:08:07.588+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Checkpoint triggered by database shutdown @ txId: 4 checkpoint completed in 52ms
are you not seeing these same lines?
03-16-2021 10:09 PM
Hello Dana,
Greetings !!
I can see only 1 line with given key word. Below is the output.
[root@JMNGD1BCE110V01 logs]# cat debug.log | grep 'Checkpoint triggered'
2021-03-03 08:40:36.577+0530 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Checkpoint triggered by database shutdown @ txId: 11456686 checkpoint started...
[root@JMNGD1BCE110V01 logs]# ls -lrth
total 43M
-rw-r--r-- 1 root root 21M Mar 2 06:41 query.log.1
-rw-r--r-- 1 root root 0 Mar 2 16:41 query.log.3
-rw-r--r-- 1 root root 0 Mar 2 16:41 query.log.2
-rwxrwxrwx 1 neo4j neo4j 17K Mar 12 19:03 neo4j.log
-rwxrwxrwx 1 neo4j neo4j 1.9M Mar 12 19:03 security.log
-rw-r--r-- 1 root root 20M Mar 12 19:06 query.log
-rw-r--r-- 1 root root 1.2M Mar 16 17:34 debug.log
[root@JMNGD1BCE110V01 logs]# cat debug.log | grep 'Checkpoint triggered' | wc -l
1
Regards
Akshat
03-17-2021 03:52 AM
ok.. from your output we see what would appear is the last time checkpoint ran was on March 3, 2021 @08:40:36 and clearly it should be running more frequently.
From this issue you are running Neo4j 3.5.3. Is there a specific requirement for 3.5.3? 3.5.3 was released 11 February 2019 ( Neo4j 3.5.3 - Neo4j Graph Database Platform ) abd so is a bit old. Could you upgrade to our most current 3.5.x release, namely 3.5.26 and see if the issue is resolved or continues to persist?
03-17-2021 04:14 AM
Hello Dana,
Right now we are using 3.5.3 and it is running on Production setup and it is not possible for me to upgrade it to 3.5.26.
Can you please help me out in sharing the parameters i need to set up in neo4j.conf file so that transaction files accumulation can be cleared without impacting the system.
This will help me in getting the extra space under graph.db and unwanted files will be removed.
Regards
Akshat
03-17-2021 05:03 PM
the expected default behavior is checkpoint is to occur every 15 minutes or every 100k transactions and which ever is earlier. So there should be nothing special you need to configure.
However the reason for the request to upgrade, of which the version you are running was released 2 years ago, is that in 3.5.5 we fixed
Kernel
* Fix delay calculation in IO limiter
which addresses an issue where checkpoint is known not to run under certain circumstances.
And so if you were to upgrade to 3.5.5 or later, and whereby 3.5.26 is the most recent release we would hopefully expect this to go away
03-17-2021 11:12 PM
Hi Dana,
Ok I will try to updgrade the system to atleast 3.5.6.
Please let me know what i need to configure in neo4j.conf file so that transaction files can be moved / removed automatically w/o impacting the DB.
Below are the parameters configured in my conf file.
[sineoj@jmngdprv009693 conf] cat neo4j.conf | grep -v '^#' | grep -v '^'
dbms.directories.import=import
dbms.memory.heap.max_size=30g
dbms.memory.pagecache.size=10g
dbms.connectors.default_listen_address=0.0.0.0
dbms.connector.bolt.enabled=true
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=:7474
dbms.connector.https.enabled=true
dbms.connector.https.listen_address=:7473
apoc.import.file.use_neo4j_config=false
dbms.jvm.additional=-XX:+UseG1GC
dbms.jvm.additional=-XX:-OmitStackTraceInFastThrow
dbms.jvm.additional=-XX:+AlwaysPreTouch
dbms.jvm.additional=-XX:+UnlockExperimentalVMOptions
dbms.jvm.additional=-XX:+TrustFinalNonStaticFields
dbms.jvm.additional=-XX:+DisableExplicitGC
dbms.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048
dbms.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true
dbms.windows_service_name=neo4j
dbms.transaction.timeout=420m
dbms.jvm.additional=-Dunsupported.dbms.udc.source=tarball
dbms.db.timezone=SYSTEM
db.temporal.timezone=+05:30
dbms.memory.heap.initial_size=27000m
apoc.export.file.enabled=true
[sineoj@jmngdprv009693 conf]$ pwd
/datasan01/neo4japp/neo4j-enterprise-3.5.3/conf
[sineoj@jmngdprv009693 conf]$ /datasan01/neo4japp/neo4j-enterprise-3.5.3/bin/neo4j status
Neo4j is running at pid 166479
[sineoj@jmngdprv009693 conf]$ /datasan01/neo4japp/neo4j-enterprise-3.5.3/bin/neo4j version
neo4j 3.5.3
[sineoj@jmngdprv009693 databases]$ du -sh graph.db/
119G graph.db/
-rw-rw-r-- 1 sineoj neo4j 251M Mar 16 20:53 neostore.transaction.db.5781
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 04:52 neostore.transaction.db.5782
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 04:56 neostore.transaction.db.5783
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 04:57 neostore.transaction.db.5784
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 04:58 neostore.transaction.db.5785
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 05:00 neostore.transaction.db.5786
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 05:31 neostore.transaction.db.5787
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 05:37 neostore.transaction.db.5788
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 06:31 neostore.transaction.db.5789
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 06:31 neostore.transaction.db.5790
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 06:32 neostore.transaction.db.5791
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 06:32 neostore.transaction.db.5792
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 06:32 neostore.transaction.db.5793
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 11:55 neostore.transaction.db.5794
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 11:56 neostore.transaction.db.5795
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 11:57 neostore.transaction.db.5796
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 11:57 neostore.transaction.db.5797
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 12:22 neostore.transaction.db.5798
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 12:27 neostore.transaction.db.5799
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 19:46 neostore.transaction.db.5800
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 19:56 neostore.transaction.db.5801
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 19:58 neostore.transaction.db.5802
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 19:59 neostore.transaction.db.5803
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 20:00 neostore.transaction.db.5804
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 20:01 neostore.transaction.db.5805
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 20:21 neostore.transaction.db.5806
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 20:24 neostore.transaction.db.5807
-rw-rw-r-- 1 sineoj neo4j 251M Mar 17 23:53 neostore.transaction.db.5808
-rw-rw-r-- 1 sineoj neo4j 251M Mar 18 04:54 neostore.transaction.db.5809
-rw-rw-r-- 1 sineoj neo4j 251M Mar 18 04:55 neostore.transaction.db.5810
-rw-rw-r-- 1 sineoj neo4j 251M Mar 18 04:56 neostore.transaction.db.5811
-rw-rw-r-- 1 sineoj neo4j 251M Mar 18 04:58 neostore.transaction.db.5812
-rw-rw-r-- 1 sineoj neo4j 251M Mar 18 05:21 neostore.transaction.db.5813
-rw-rw-r-- 1 sineoj neo4j 251M Mar 18 05:24 neostore.transaction.db.5814
-rw-rw-r-- 1 sineoj neo4j 202M Mar 18 07:31 neostore.transaction.db.5815
[sineoj@jmngdprv009693 graph.db]$ ls -lrth neostore.transaction.db.* | wc -l
151
Regards
Akshat
03-18-2021 04:52 AM
@akshat.mittal
As previously stated
the expected default behavior is checkpoint is to occur every 15 minutes or every 100k transactions and which ever is earlier. So there should be nothing special you need to configure.
if anything you could further deviate from the defaults by changing parameters in neo4j.conf that start with dbms.checkpoint*
and as defined at Configuration settings - Operations Manual but again as your current settings have not overriden the defaults you should thus be subject to the defaults of every a checkpoint every 15minutes or every 100k transactions.
We do not see this issue at any other customer implementation in the field. Yes we did experience it a few times and for which this is the reason 3.5.6 was created and so as to address a bug.
So without upgrade I'm not sure of anything else you can do
All the sessions of the conference are now available online