Removing the log files ending with ".v<version number>" at runtime is
perfectly safe to do but will turn off the ability to do incremental
backups. You can however still perform live full backups.

Configuring Neo4j with "keep_logical_logs=false" the logs will
automatically be deleted upon rotation.

-Johan

On Sat, Sep 3, 2011 at 1:49 AM, Aseem Kishore <aseem.kish...@gmail.com> wrote:
> Thanks for the insights Johan!
>
> Regarding the existing disk space then, by far the bulk of it is from the
> logs. Is there a way to prune or garbage collect them? Is simply deleting
> the files safe? Should the db be off if I do that? Etc.
>
> Thanks much!
>
> Aseem
>
> On Tue, Aug 30, 2011 at 2:47 AM, Johan Svensson 
> <jo...@neotechnology.com>wrote:
>
>> Hi Aseem,
>>
>> This is actually expected behavior when performing file copy of
>> running db and starting up with default configuration. If you remove
>> the files ending with .id in the db directory on the local snapshot
>> and start up setting "rebuild_idgenerators_fast=false" you should see
>> the accurate amount of nodes, relationships and properties.
>>
>> Regarding the amount of properties not matching this could be due to a
>> non clean shutdown on the production system. We are planing on
>> improving this in the near future by allowing for more aggressive
>> reuse of ids for properties. This will specifically improve things for
>> workloads that perform a lot of property updates.
>>
>> -Johan
>>
>> On Tue, Aug 30, 2011 at 10:05 AM, Aseem Kishore <aseem.kish...@gmail.com>
>> wrote:
>> > Hey guys,
>> >
>> > We do offline backups of our db on a semi-regular basis (every few days),
>> > where we (1) stop the running db, (2) copy its data directory and (3)
>> > restart the db.
>> >
>> > A few times early on, we did running backups -- but not the proper
>> "online"
>> > way -- where we simply copied the data directory while the db was still
>> > running. (We did this during times where we were confident no requests
>> were
>> > hitting the db.)
>> >
>> > We noticed that every time we did the running backup, the number of
>> > properties the web admin reported -- and the space on disk of the db --
>> > would jump up quite a bit. We stopped doing that recently.
>> >
>> > But even now, both these numbers have gotten quite a bit higher than we
>> > expect to, and strangely, they seem to differ highly between the running
>> db
>> > and the copies.
>> >
>> > What could be causing all of this?
>> >
>> > Here are our current numbers:
>> >
>> > *Production*
>> > - 2,338 nodes
>> > - 4,473 rels
>> > - 114,231 props (higher than we would expect it to be, but not by an
>> order
>> > of magnitude)
>> > - *1.39 GB!* <-- this is way unexpected, particularly since our db used
>> to
>> > be in the ~10 KB ballpark, and we certainly haven't experienced hockey
>> stick
>> > growth yet ;) The logical log only takes up 57 KB (0%) btw.
>> >
>> >
>> > *Local snapshot*
>> > - 2,338 nodes
>> > - 4,473 rels
>> > - *2,607,892 props!!!* <-- ???
>> > - *1.37 GB!* <-- equally surprisingly high, but also interesting that
>> it's
>> > less than the production db's size. 0 KB logical logs.
>> >
>> >
>> > I looked around the wiki and searched this mailing list but didn't find
>> much
>> > clues here. But as requested on another thread, here's the output of `ls
>> -lh
>> > data/graph.db/`:
>> >
>> > total 1474520
>> > -rw-r--r--   1 aseemk  staff    11B Aug 30 00:46 active_tx_log
>> > drwxr-xr-x  52 aseemk  staff   1.7K Aug 30 00:46 index/
>> > -rw-r--r--   1 aseemk  staff   343B Aug 30 00:46 index.db
>> > -rw-r--r--   1 aseemk  staff   854K Aug 30 00:46 messages.log
>> > -rw-r--r--   1 aseemk  staff    36B Aug 30 00:46 neostore
>> > -rw-r--r--   1 aseemk  staff     9B Aug 30 00:46 neostore.id
>> > -rw-r--r--   1 aseemk  staff    26K Aug 30 00:46 neostore.nodestore.db
>> > -rw-r--r--   1 aseemk  staff     9B Aug 30 00:46
>> neostore.nodestore.db.id
>> > -rw-r--r--   1 aseemk  staff    62M Aug 30 00:46
>> neostore.propertystore.db
>> > -rw-r--r--   1 aseemk  staff   133B Aug 30 00:46
>> > neostore.propertystore.db.arrays
>> > -rw-r--r--   1 aseemk  staff     9B Aug 30 00:46
>> > neostore.propertystore.db.arrays.id
>> > -rw-r--r--   1 aseemk  staff     9B Aug 30 00:46
>> > neostore.propertystore.db.id
>> > -rw-r--r--   1 aseemk  staff   1.0K Aug 30 00:46
>> > neostore.propertystore.db.index
>> > -rw-r--r--   1 aseemk  staff     9B Aug 30 00:46
>> > neostore.propertystore.db.index.id
>> > -rw-r--r--   1 aseemk  staff   4.0K Aug 30 00:46
>> > neostore.propertystore.db.index.keys
>> > -rw-r--r--   1 aseemk  staff     9B Aug 30 00:46
>> > neostore.propertystore.db.index.keys.id
>> > -rw-r--r--   1 aseemk  staff    69M Aug 30 00:46
>> > neostore.propertystore.db.strings
>> > -rw-r--r--   1 aseemk  staff     9B Aug 30 00:46
>> > neostore.propertystore.db.strings.id
>> > -rw-r--r--   1 aseemk  staff   144K Aug 30 00:46
>> > neostore.relationshipstore.db
>> > -rw-r--r--   1 aseemk  staff     9B Aug 30 00:46
>> > neostore.relationshipstore.db.id
>> > -rw-r--r--   1 aseemk  staff    55B Aug 30 00:46
>> > neostore.relationshiptypestore.db
>> > -rw-r--r--   1 aseemk  staff     9B Aug 30 00:46
>> > neostore.relationshiptypestore.db.id
>> > -rw-r--r--   1 aseemk  staff   602B Aug 30 00:46
>> > neostore.relationshiptypestore.db.names
>> > -rw-r--r--   1 aseemk  staff     9B Aug 30 00:46
>> > neostore.relationshiptypestore.db.names.id
>> > -rw-r--r--   1 aseemk  staff    16B Aug 30 00:46 nioneo_logical.log.1
>> > -rw-r--r--   1 aseemk  staff     4B Aug 30 00:46
>> nioneo_logical.log.active
>> > -rw-r--r--   1 aseemk  staff   945K Aug 30 00:46 nioneo_logical.log.v0
>> > -rw-r--r--   1 aseemk  staff    16B Aug 30 00:46 nioneo_logical.log.v1
>> > -rw-r--r--   1 aseemk  staff    33K Aug 30 00:46 nioneo_logical.log.v10
>> > -rw-r--r--   1 aseemk  staff    11K Aug 30 00:46 nioneo_logical.log.v11
>> > -rw-r--r--   1 aseemk  staff    32K Aug 30 00:46 nioneo_logical.log.v12
>> > -rw-r--r--   1 aseemk  staff    16B Aug 30 00:46 nioneo_logical.log.v13
>> > -rw-r--r--   1 aseemk  staff    12M Aug 30 00:46 nioneo_logical.log.v14
>> > -rw-r--r--   1 aseemk  staff   1.4M Aug 30 00:46 nioneo_logical.log.v15
>> > -rw-r--r--   1 aseemk  staff   6.8M Aug 30 00:46 nioneo_logical.log.v16
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v17
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v18
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v19
>> > -rw-r--r--   1 aseemk  staff   1.3M Aug 30 00:46 nioneo_logical.log.v2
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v20
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v21
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v22
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v23
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v24
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v25
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v26
>> > -rw-r--r--   1 aseemk  staff    14M Aug 30 00:46 nioneo_logical.log.v27
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v28
>> > -rw-r--r--   1 aseemk  staff   7.8M Aug 30 00:46 nioneo_logical.log.v29
>> > -rw-r--r--   1 aseemk  staff   800K Aug 30 00:46 nioneo_logical.log.v3
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v30
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v31
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v32
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v33
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v34
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v35
>> > -rw-r--r--   1 aseemk  staff   4.5M Aug 30 00:46 nioneo_logical.log.v36
>> > -rw-r--r--   1 aseemk  staff    16B Aug 30 00:46 nioneo_logical.log.v37
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v38
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v39
>> > -rw-r--r--   1 aseemk  staff    67K Aug 30 00:46 nioneo_logical.log.v4
>> > -rw-r--r--   1 aseemk  staff    25M Aug 30 00:46 nioneo_logical.log.v40
>> > -rw-r--r--   1 aseemk  staff    16M Aug 30 00:46 nioneo_logical.log.v41
>> > -rw-r--r--   1 aseemk  staff    14M Aug 30 00:46 nioneo_logical.log.v42
>> > -rw-r--r--   1 aseemk  staff   1.0M Aug 30 00:46 nioneo_logical.log.v43
>> > -rw-r--r--   1 aseemk  staff   5.7M Aug 30 00:46 nioneo_logical.log.v44
>> > -rw-r--r--   1 aseemk  staff    16B Aug 30 00:46 nioneo_logical.log.v5
>> > -rw-r--r--   1 aseemk  staff    16B Aug 30 00:46 nioneo_logical.log.v6
>> > -rw-r--r--   1 aseemk  staff    16B Aug 30 00:46 nioneo_logical.log.v7
>> > -rw-r--r--   1 aseemk  staff    16B Aug 30 00:46 nioneo_logical.log.v8
>> > -rw-r--r--   1 aseemk  staff    16B Aug 30 00:46 nioneo_logical.log.v9
>> > -rw-r--r--   1 aseemk  staff    29K Aug 30 00:46 tm_tx_log.1
>> > -rw-r--r--   1 aseemk  staff     0B Aug 30 00:46 tm_tx_log.2
>> >
>> >
>> > Looking at these numbers, I suppose the logs do add up -- is there a way
>> to
>> > prune/garbage collect old logs? -- but I'm also surprised at the size of
>> > property stores. The latter depends on the number of properties though,
>> > which I'm not sure is right either, even in production. (We would see the
>> > property count jump by a factor of 2-3 after each running backup.)
>> >
>> > Thanks in advance for any pointers!
>> >
>> > Aseem
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to