[
https://issues.apache.org/jira/browse/SLING-4528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14502053#comment-14502053
]
Alessandro Bologna edited comment on SLING-4528 at 4/19/15 6:47 PM:
--------------------------------------------------------------------
Hi, i was playing with this yesterday and incurred in the same exception. It
seems to appear only when using the oak run modes. It seems that with the
changes in revision #1674625 that issue is gone.
There's another couple of problems though. One is simple enough, the dependency
on org.apache.sling/org.apache.sling.jcr.resource/2.5.0 causes
resource.getPath() to return double slashes ("//foo") for each node under the
root, and I have replaced it with
org.apache.sling/org.apache.sling.jcr.resource/2.5.1-SNAPSHOT since the problem
is fixed in the trunk.
The other is a little bit more complicated. In oak run modes, I see this
exception in the logs when sling start:
{noformat}
19.04.2015 18:26:19.063 *INFO* [OsgiInstallerImpl]
org.apache.jackrabbit.oak-lucene BundleEvent STARTING
19.04.2015 18:26:19.063 *INFO* [OsgiInstallerImpl]
org.apache.jackrabbit.oak-lucene BundleEvent STARTED
19.04.2015 18:26:19.072 *INFO* [OsgiInstallerImpl]
org.apache.jackrabbit.oak-lucene Service
[org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider,123,
[org.apache.jackrabbit.oak.plugins.index.IndexEditorProvider]] ServiceEvent
REGISTERED
19.04.2015 18:26:19.078 *INFO* [OsgiInstallerImpl]
org.apache.jackrabbit.oak-lucene Service
[org.apache.jackrabbit.oak.plugins.index.lucene.score.impl.ScorerProviderFactoryImpl,124,
[org.apache.jackrabbit.oak.plugins.index.lucene.score.ScorerProviderFactory]]
ServiceEvent REGISTERED
19.04.2015 18:26:19.132 *ERROR* [OsgiInstallerImpl]
org.apache.jackrabbit.oak-lucene
[org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService(39)]
The activate method has thrown an exception (java.lang.NullPointerException:
Index directory cannot be determined as neither index directory path
[localIndexDir] nor repository home [repository.home] defined)
java.lang.NullPointerException: Index directory cannot be determined as neither
index directory path [localIndexDir] nor repository home [repository.home]
defined
at
com.google.common.base.Preconditions.checkNotNull(Preconditions.java:236)
at
org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService.createTracker(LuceneIndexProviderService.java:196)
at
org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService.activate(LuceneIndexProviderService.java:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at
org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:231)
at
org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:39)
at
org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:624)
at
org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:508)
at
org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:149)
...
{noformat}
I tried to solve it by adding, in oak.txt, the following configuration:
{noformat}
[configurations runModes=oak]
...
org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService
localIndexDir="sling/oak/repository/index"
{noformat}
but the exception still happens at startup. On a positive note, though, it
looks like the configuration get installed (after the exception), and then you
can see in the logs:
{noformat}
19.04.2015 18:26:21.447 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService)]
org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService
Enabling CopyOnRead support. Index files would be copied under
/data/sling/oak/repository/index
19.04.2015 18:26:21.448 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService)]
org.apache.jackrabbit.oak-lucene Service [254,
[org.apache.jackrabbit.oak.plugins.index.lucene.CopyOnReadStatsMBean]]
ServiceEvent REGISTERED
19.04.2015 18:26:21.461 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService)]
org.apache.jackrabbit.oak-lucene Service [255,
[org.apache.jackrabbit.oak.spi.query.QueryIndexProvider]] ServiceEvent
REGISTERED
19.04.2015 18:26:21.470 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService)]
org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService
Registering the LuceneIndexProvider as a BackgroundObserver
19.04.2015 18:26:21.471 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService)]
org.apache.jackrabbit.oak-lucene Service [256,
[org.apache.jackrabbit.oak.spi.commit.Observer]] ServiceEvent REGISTERED
19.04.2015 18:26:21.480 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService)]
org.apache.jackrabbit.oak-lucene Service [257,
[org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexMBean]] ServiceEvent
REGISTERED
19.04.2015 18:26:21.554 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService)]
org.apache.jackrabbit.oak.plugins.segment.file.FileStore TarMK opened:
sling/oak/repository/segmentstore (mmap=true)
{noformat}
So maybe the issue is the order of execution?
was (Author: alessandro):
Hi, i was playing with this yesterday and incurred in the same exception. It
seems to appear only when using the oak run modes. It seems that with the
changes in revision #1674625 that issue is gone. There's another couple of
problems though. One is simple enough, the dependency on
org.apache.sling/org.apache.sling.jcr.resource/2.5.0 causes resource.getPath()
to return double slashes ("//foo") for each node under the root, and I have
replaced it with org.apache.sling/org.apache.sling.jcr.resource/2.5.1-SNAPSHOT
since the problem is fixed in the trunk.
The other is a little bit more complicated. In oak run modes, I see this
exception in the logs when sling start:
{noformat}
19.04.2015 18:26:19.063 *INFO* [OsgiInstallerImpl]
org.apache.jackrabbit.oak-lucene BundleEvent STARTING
19.04.2015 18:26:19.063 *INFO* [OsgiInstallerImpl]
org.apache.jackrabbit.oak-lucene BundleEvent STARTED
19.04.2015 18:26:19.072 *INFO* [OsgiInstallerImpl]
org.apache.jackrabbit.oak-lucene Service
[org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider,123,
[org.apache.jackrabbit.oak.plugins.index.IndexEditorProvider]] ServiceEvent
REGISTERED
19.04.2015 18:26:19.078 *INFO* [OsgiInstallerImpl]
org.apache.jackrabbit.oak-lucene Service
[org.apache.jackrabbit.oak.plugins.index.lucene.score.impl.ScorerProviderFactoryImpl,124,
[org.apache.jackrabbit.oak.plugins.index.lucene.score.ScorerProviderFactory]]
ServiceEvent REGISTERED
19.04.2015 18:26:19.132 *ERROR* [OsgiInstallerImpl]
org.apache.jackrabbit.oak-lucene
[org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService(39)]
The activate method has thrown an exception (java.lang.NullPointerException:
Index directory cannot be determined as neither index directory path
[localIndexDir] nor repository home [repository.home] defined)
java.lang.NullPointerException: Index directory cannot be determined as neither
index directory path [localIndexDir] nor repository home [repository.home]
defined
at
com.google.common.base.Preconditions.checkNotNull(Preconditions.java:236)
at
org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService.createTracker(LuceneIndexProviderService.java:196)
at
org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService.activate(LuceneIndexProviderService.java:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at
org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:231)
at
org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:39)
at
org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:624)
at
org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:508)
at
org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:149)
...
{noformat}
I tried to solve it by adding, in oak.txt, the following configuration:
{noformat}
[configurations runModes=oak]
...
org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService
localIndexDir="sling/oak/repository/index"
{noformat}
but the exception still happens at startup. On a positive note, though, it
looks like the configuration get installed (after the exception), and then you
can see in the logs:
{noformat}
19.04.2015 18:26:21.447 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService)]
org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService
Enabling CopyOnRead support. Index files would be copied under
/data/sling/oak/repository/index
19.04.2015 18:26:21.448 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService)]
org.apache.jackrabbit.oak-lucene Service [254,
[org.apache.jackrabbit.oak.plugins.index.lucene.CopyOnReadStatsMBean]]
ServiceEvent REGISTERED
19.04.2015 18:26:21.461 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService)]
org.apache.jackrabbit.oak-lucene Service [255,
[org.apache.jackrabbit.oak.spi.query.QueryIndexProvider]] ServiceEvent
REGISTERED
19.04.2015 18:26:21.470 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService)]
org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService
Registering the LuceneIndexProvider as a BackgroundObserver
19.04.2015 18:26:21.471 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService)]
org.apache.jackrabbit.oak-lucene Service [256,
[org.apache.jackrabbit.oak.spi.commit.Observer]] ServiceEvent REGISTERED
19.04.2015 18:26:21.480 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService)]
org.apache.jackrabbit.oak-lucene Service [257,
[org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexMBean]] ServiceEvent
REGISTERED
19.04.2015 18:26:21.554 *INFO* [CM Event Dispatcher (Fire ConfigurationEvent:
pid=org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService)]
org.apache.jackrabbit.oak.plugins.segment.file.FileStore TarMK opened:
sling/oak/repository/segmentstore (mmap=true)
{noformat}
So maybe the issue is the order of execution?
> Moving to Oak
> -------------
>
> Key: SLING-4528
> URL: https://issues.apache.org/jira/browse/SLING-4528
> Project: Sling
> Issue Type: Task
> Components: JCR
> Reporter: Oliver Lietz
> Labels: oak
> Fix For: JCR Oak Server 1.0.0
>
>
> _Apache Sling Oak Repository Server_ ({{org.apache.sling.jcr.oak.server}}) is
> not released and contains some TODOs and {{JcrRepositoryHacks}}.
> What needs to be done for a first release, [~bdelacretaz] and [~mduerig]?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)