Hello. Just in case somebody runs in the same problem, I upgraded from 1.2.123 to 2.0.22, community version, and had only one error related to the cache size, which is now set at 22 MB at least (I had 16 MB). The node was unreachable via ping, the error was indicated in the file /var/kvroot/mystore/log/sn1_0.log. Once I changed the value in config.xml and restarted, the node was up again. Reaching the store via old scripts with the new .jar files seem to work, I have not tested everything though.
Edited by: jesusdelvalle on Nov 22, 2012 3:43 PM
Thank you for posting your note. Apologies that this wasn't highlighted in the Release Notes or Change Log -- we'll add an update to mention this change.
I'm the Product Manager for Oracle NoSQL Database and I'd love to learn more about how you are using NoSQL DB. When you have a chance, can you please contact me at dave a dot and then segleau at oracle a dot and com. Thanks!
I wanted to correct the earlier response. We have not (intentionally!) increased the minimum cache size requirement in NoSQL 2.0, but we have changed a variety of defaults, and the recommended way of setting memory sizes. In NoSQL 1.0, we asked the user to explicitly set JVM heap size, and the underlying BDB JE cache size, using Replication Node parameters. In NoSQL 2.0, we tried to make these settings more sensible and easier for the user to manage.
We take the approach that the user should set the new Storage Node parameter, memoryMb, described here: http://docs.oracle.com/cd/NOSQL/html/AdminGuide/setstoreparams.html#storagenodeparameters. Now, Replication Node cache size and heap size should be calculated by NoSQL DB, as a function of the memory available on the Storage Node, and the number of Replication Nodes hosted by that Storage Node, rather than requiring the user to set those values. This is intended to make setup easier for the user. And since NoSQL 2.0 supports elasticity, and lets the topology of the store change, it makes the system able to dynamically adjust if the number of Replication Nodes on the Storage Node changes. If the user has not set memoryMB, we attempt to query the JVM for the amount of memory available on that node.
I must also apologize that the current version of our Admin Guide doesn't make this clear at all. We are in the process of revamping the Chapter 2 planning section, which contradicts the new approach. A user really has to read the doc in depth to understand this change in memory sizing, and we are working to make this better!
In the meantime, can you give me more information about your setup, so I can validate that my assertion is true, and that we still support the 16MB size? That would let me make recommendations about which of the new parameters to change, in order to be able to use 16MB (or would reveal a problem I want to know about!). I'd like to know:
- what NoSQL DB parameters you set in your deployment
- the available memory on your Storage Node
Thanks for your help,
Thanks for your Post. No problem, I setup only a Oracle NoSQL DB in a (dedicated) bigger machine (16 GB RAM) under CentOS running many other things; I try to minimize everything so that resources are consumed only if needed and not by default. The database was upgraded from 1.2.123, the cache size of 16 MB was hardwired in the store, the new requirement was not part of the upgrade, that's all. Same thing happened (obviously) in different virtual machines with other operating systems under VirtualBox.
My 2 cents, your Admin Guide is by far one of the best documentations you can find for databases; your docs are straightforward and also including other domains I tend to read like programming languages or content management systems, your Oracle NoSQL docs would still get a 1+ from me. Whoever wrote it had before a course of "the user does not want to think, the user wants to use it". IMHO: very good.
On behalf of the NoSQL DB development group, I wanted to thank you for your kind words regarding the excellent quality of our documentation. We very much appreciate that.
Thanks and warm regards.
Senior Director, Oracle NoSQL DB development