This discussion is archived
0 Replies Latest reply: May 4, 2012 12:37 PM by greybird RSS

NOTICE: Keys beginning with // are reserved for internal use

greybird Expert
Currently Being Moderated
If you're currently developing an application using NoSQL DB, or designing your schema for a NoSQL DB application, please take notice.

In an upcoming release of NoSQL DB, there will be a new restriction on keys: no key may have an empty (zero length string) first component. An IllegalArgumentException will be thrown when attempting to use a key with a KVStore method, if the first component of the major path is empty.

Using the standard Key.toString format, this means that any key beginning with // will be prohibited and the empty key / will also be rejected. For example, the following keys will be prohibited:
/
//
//a
//-/a
//a/-/b
The reason for this restriction is to allow the NoSQL DB implementation to store internal information or metadata using key-value pairs. These internal key-value pairs will begin with an empty component and will not be accessible via the API. For example, these internal keys will not be returned by the KVStore.storeIterator method. This capability will be used internally in an upcoming release.

If your application currently uses keys with an empty first component, please reply to this post and we will suggest alternative approaches.

Thanks,
--mark