Orientdb: RidBag - SBtree to Embedded conversion

Created on 21 Nov 2017  路  5Comments  路  Source: orientechnologies/orientdb

OrientDB Version: 2.2.30

Java Version: 1.8

OS: ubuntu

We are moving from orient stand alone to distributed one. We see on the documentation we need to change the SBTREE indexes because are not supported in distributed version.

Expected behavior

After setting ridBag.embeddedToSbtreeBonsaiThreshold=2147483647, we expect to convert our LINKBAG from SBTREE to EMBEDDED.

Actual behavior

After setting ridBag.embeddedToSbtreeBonsaiThreshold=2147483647, we cannot convert our LINKBAG from SBTREE to EMBEDDED.

Steps to reproduce

1- create standalone version of orient with HASH index with default=40, after data are more than the default set, the system converts it in SBtree
2- stop orient and restart it in distributed mode
3- set the ridBag.embeddedToSbtreeBonsaiThreshold=2147483647
4- drop the indexes
5- rebuild indexes
6- you still find SBtree as value setted ValueContainerAlgorithm

Most helpful comment

Hi @Krespo88

You can also do this:

  • set the following: ridBag.sbtreeBonsaiToEmbeddedToThreshold=2147483647 (it's not a typo, it's just like that)
  • do an update V remove NONEXISTINGPROPERTY

This should force the update of all the ridbags to embedded

Thanks

Luigi

All 5 comments

Hi @Krespo88

edge SBTree bonsai structures are not proper indexes, so even if you drop/recreate the indexes it won't rebuild the edge structures.

To do the conversion, you have change the threshold and manually update the vertices, so that the sbtrees are updated.

Given that right now it is mandatory to migrate to embedded ridbags when going distributed, I think we should have an automatic procedure to do the conversion. Let me flag this as an enhancement, we will work on it asap

Thanks

Luigi

Hi @Krespo88

You can also do this:

  • set the following: ridBag.sbtreeBonsaiToEmbeddedToThreshold=2147483647 (it's not a typo, it's just like that)
  • do an update V remove NONEXISTINGPROPERTY

This should force the update of all the ridbags to embedded

Thanks

Luigi

Hi @luigidellaquila

Many thanks for your reply, we have followed your instruction, but we have not the expected results. The SBTREEBONSAISET is still there.

Here's our configuration
screen shot 2017-11-23 at 15 32 41

Here one of the index with SBTREEBONSAISET not changed after the Vertices update
screen shot 2017-11-23 at 15 35 42

Many thanks for your help,
awaiting for your kind reply

Hi @Krespo88

That's OK, that's just a normal index, that creates no problems in general (even in distributed).
What matters are internal SBTree bonsai representations for edges, you cannot list them that way.

After the update, for sure you saw a big increase of the vertex files in the storage, it means that all the edge pointers were moved there. Probably your sbc files are still there, but they won't be used anymore

Thanks

Luigi

hello , how to fix the problems?
image I also do this, but it doesnot work .. awaiting for your kind reply

Was this page helpful?
0 / 5 - 0 ratings