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
> >
>
>

Reply via email to