Hi Manfred, Could you please guide me or share doc links/example.
On Wed, 27 Nov, 2019, 8:37 PM Manfred Baedke, <[email protected]> wrote: > Hi Vivik, > > > 1) Is there any guidlines/best practice to store child nodes under root? > > > > 2) How can we minimize the Repository startup time? > > Re 1): Yes. Don't do it. The startup time will increase when creating > the initial root state. > Re 2): It's all because of 1) > > Best regards, > Manfred > > On 11/27/2019 3:28 PM, Vivek Kamble wrote: > > Hi Jackrabbit/Oak Team, > > > > > > > > We are facing issue while repository startup, > > As number of direct child nodes of Root node are huge in number. > > The number of child node is close to million. > > > > Below is Repository startup code, > > > > > > > > final RDBOptions options = > > > > new > > > RDBOptions().tablePrefix(dbDetails.get(DB_TABLE_PREFIX)).dropTablesOnClose( > > > > false); > > > > final DataSource ds = > > > > RDBDataSourceFactory.forJdbcUrl( > > > > dbDetails.get("dbURL"), > > > > dbDetails.get("dbUser"), > > > > dbDetails.get("dbPassword")); > > > > > > > > final Properties properties = buildS3Properties(dbDetails); > > > > final S3DataStore s3DataStore = > buildS3DataStore(properties); > > > > > > > > final DataStoreBlobStore dataStoreBlobStore = new > > DataStoreBlobStore(s3DataStore); > > > > > > > > final Whiteboard wb = new DefaultWhiteboard(); > > > > wb.register( > > > > BlobAccessProvider.class, > > > > (BlobAccessProvider) dataStoreBlobStore, > > > > properties); > > > > > > > > documentNodeStore = > > > > new RDBDocumentNodeStoreBuilder() > > > > .setBlobStore(dataStoreBlobStore) > > > > .setRDBConnection(ds, options) > > > > .build(); > > > > > > > > final long start = System.currentTimeMillis(); > > > > repository = new Jcr(new > > Oak(documentNodeStore)).with(wb).createRepository(); > > > > final long end = System.currentTimeMillis(); > > > > log.info("Total Time : " + (end - start)); > > > > return repository; > > > > > > > > > > > > Bheviour obsereved is that as the Repository size gets bigger the Startup > > time is increased, > > > > As we observed most of the time is spent on call to following method, > > > > ChildNodeEntryIterator() { > > > > fetchMore(); > > > > } > > > > and its getting called from > > MemoryNodeState.wrap(NodeState state) > > > > So there are some questions, > > > > 1) Is there any guidlines/best practice to store child nodes under root? > > > > 2) How can we minimize the Repository startup time? > > > > 3) Does bundling of nodes will help in Repository startup? > > > > > > Thanks N Regards, > > Vivek > > > >
