Hi,

So after configuring  the SecurityManager with the jackrabbit simple 
implementations, I ran into another NPE as I'd commented out the SearchIndex.
(
Exception in thread "main" java.lang.NullPointerException
        at 
org.apache.jackrabbit.core.IndexAccessor.getReader(IndexAccessor.java:34)
        at 
org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.assertNoLongNames(RepositoryUpgrade.java:977)
        at 
org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.copy(RepositoryUpgrade.java:402)
        at 
org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.upgrade(OakUpgrade.java:65)
        at 
org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:53)
        at 
org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.main(OakUpgrade.java:42)
)

Looking at RepositoryUpgrade.java, I'm guessing the upgrade tool only works if 
you use the default SearchIndex? For certain reasons, we had to implement our 
own.

Rob.

-----Original Message-----
From: Tomek Rekawek [mailto:reka...@adobe.com] 
Sent: 21 September 2016 10:25
To: oak-dev@jackrabbit.apache.org
Subject: Re: oak-upgrade problems migrating from Jackrabbit 2 to Oak

Hi Robert & Marcel,

thanks for the report. I created OAK-4832[1] to track it.

Robert, could you check if the problem exists on the recent SNAPSHOT[2]? If 
it’s fine, I’ll backport the fix to the 1.4 branch.

Marcel, do you think using ConfigurationParameters.EMPTY for userConfig is 
enough if the SecurityManager is not present?

Regards,
Tomek

[1] https://issues.apache.org/jira/browse/OAK-4832
[2] 
https://repository.apache.org/content/repositories/snapshots/org/apache/jackrabbit/oak-upgrade/1.6-SNAPSHOT/oak-upgrade-1.6-20160921.092314-5.jar

-- 
Tomek Rękawek | Adobe Research | www.adobe.com
reka...@adobe.com

> On 20 Sep 2016, at 17:46, Marcel Reutegger <mreut...@adobe.com> wrote:
> 
> Hi Robert,
> 
> I'm not too familiar with the upgrade module, but I think it
> doesn't support security configuration via JAAS. The NPE also
> indicates your repository.xml does not have security manager
> set. Can you try to set your SecurityManager in the repository.xml?
> 
> See also: 
> http://jackrabbit.apache.org/jcr/jackrabbit-configuration.html#security-configuration
> 
> Though, it would probably be better to fix the RepositoryUpgrade
> code because the SecurityManager element is actually optional.
> 
> Regards
> Marcel
> 
> On 20/09/16 16:40, Robert Haycock wrote:
>> Hi,
>> 
>> I have a jackrabbit repository (2.6.4) and I want to migrate to oak.
>> 
>> I tried...
>> Java -jar oak-upgrade-1.4.7.jar <path to JCR repo> <path to repo xml> 
>> mongodb://localhost:27017/oak
>> 
>> It complained about the mysql driver missing. So I copied the oak-upgrade 
>> project and added the mysql dependency. Then it couldn't find my custom 
>> search index class, so I commented it out of the xml. Then it couldn't find 
>> the security manager class configured in my JAAS config so I created one, a 
>> blank implementation where all methods returned true.
>> 
>> Just as I thought it was doing something I ran into this....
>> C:\work\MyCompToOakUpgrader>java 
>> -Djava.security.auth.login.config=c:/work/MyComp/MyComp-backend/jaas.config  
>> -jar target/MyComp-to-oak-upgrader-1.4.7.jar  c://work/MyComp-repository  
>> c://work/MyComp/MyComp-backend/MyComp-repository.xml  
>> mongodb://localhost:27017/oak
>> 20.09.2016 15:36:10.936 [main] *INFO*  
>> org.apache.jackrabbit.oak.upgrade.cli.parser.MigrationOptions - DataStore 
>> needs to be shared with new repository
>> 20.09.2016 15:36:10.937 [main] *INFO*  
>> org.apache.jackrabbit.oak.upgrade.cli.parser.MigrationOptions - copyVersions 
>> parameter set to 1970-01-01
>> 20.09.2016 15:36:10.940 [main] *INFO*  
>> org.apache.jackrabbit.oak.upgrade.cli.parser.MigrationOptions - 
>> copyOrphanedVersions parameter set to 1970-01-01
>> 20.09.2016 15:36:10.941 [main] *INFO*  
>> org.apache.jackrabbit.oak.upgrade.cli.parser.MigrationOptions - Cache size: 
>> 256 MB
>> 20.09.2016 15:36:10.952 [main] *INFO*  
>> org.apache.jackrabbit.oak.upgrade.cli.parser.StoreArguments - Source: 
>> JCR2_DIR_XML[c://work/MyComp-repository, 
>> c://work/MyComp/MyComp-backend/MyComp-repository.xml]
>> 20.09.2016 15:36:10.954 [main] *INFO*  
>> org.apache.jackrabbit.oak.upgrade.cli.parser.StoreArguments - Destination: 
>> MONGO[mongodb://localhost:27017/oak]
>> 20.09.2016 15:36:11.042 [main] *INFO*  
>> org.apache.jackrabbit.core.RepositoryImpl - Starting repository...
>> 20.09.2016 15:36:11.482 [main] *INFO*  
>> org.apache.jackrabbit.core.RepositoryImpl - initializing workspace 
>> 'default'...
>> 20.09.2016 15:36:11.550 [main] *INFO*  
>> org.apache.jackrabbit.core.RepositoryImpl - workspace 'default' initialized
>> 20.09.2016 15:36:11.552 [main] *INFO*  
>> org.apache.jackrabbit.core.RepositoryImpl - SecurityManager = class 
>> org.apache.jackrabbit.core.security.simple.SimpleSecurityManager
>> 20.09.2016 15:36:11.560 [main] *INFO*  
>> org.apache.jackrabbit.core.security.simple.SimpleSecurityManager - init: 
>> using JAAS LoginModule configuration for MyCompManagerLoginModule
>> 20.09.2016 15:36:11.565 [main] *INFO*  
>> org.apache.jackrabbit.core.RepositoryImpl - Repository started (523ms)
>> 20.09.2016 15:36:11.842 [main] *INFO*  
>> org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentStore - 
>> Configuration maxReplicationLagMillis 21600000, maxDeltaForModTimeIdxSecs 
>> 60, disableIndexHint false, WriteConcern { "getlasterror" : 1} / (Continue 
>> on error? false)
>> 20.09.2016 15:36:12.136 [main] *INFO*  
>> org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore - Initialized 
>> DocumentNodeStore with clusterNodeId: 1 (id: 1, startTime: 1474382172101, 
>> machineId: mac:00ff1377ebc4, instanceId: C:\work\MyCompToOakUpgrader, pid: 
>> 7212, uuid: a8599b2e-f2c1-48d7-8804-113d11275191, readWriteMode: null, 
>> state: NONE, revLock: NONE, oakVersion: 1.4.7)
>> 20.09.2016 15:36:12.154 [main] *INFO*  
>> org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade - Copying repository 
>> content from c:\work\MyComp-repository to Oak
>> 20.09.2016 15:36:12.167 [main] *INFO*  
>> org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore - Starting 
>> disposal of DocumentNodeStore with clusterNodeId: 1 (id: 1, startTime: 
>> 1474382172101, machineId: mac:00ff1377ebc4, instanceId: 
>> C:\work\MyCompToOakUpgrader, pid: 7212, uuid: 
>> a8599b2e-f2c1-48d7-8804-113d11275191, readWriteMode: null, state: NONE, 
>> revLock: NONE, oakVersion: 1.4.7)
>> 20.09.2016 15:36:12.171 [main] *INFO*  
>> org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore - Disposed 
>> DocumentNodeStore with clusterNodeId: 1
>> 20.09.2016 15:36:12.171 [main] *INFO*  
>> org.apache.jackrabbit.core.RepositoryImpl - Shutting down repository...
>> 20.09.2016 15:36:12.174 [main] *INFO*  
>> org.apache.jackrabbit.core.RepositoryImpl - shutting down workspace 
>> 'default'...
>> 20.09.2016 15:36:12.174 [main] *INFO*  
>> org.apache.jackrabbit.core.observation.ObservationDispatcher - Notification 
>> of EventListeners stopped.
>> 20.09.2016 15:36:12.178 [main] *INFO*  
>> org.apache.jackrabbit.core.RepositoryImpl - workspace 'default' has been 
>> shutdown
>> 20.09.2016 15:36:12.182 [main] *INFO*  
>> org.apache.jackrabbit.core.RepositoryImpl - Repository has been shutdown
>> Exception in thread "main" java.lang.RuntimeException: 
>> javax.jcr.RepositoryException: Failed to copy content
>>        at com.google.common.io.Closer.rethrow(Closer.java:149)
>>        at 
>> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:58)
>>        at 
>> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.main(OakUpgrade.java:42)
>> Caused by: javax.jcr.RepositoryException: Failed to copy content
>>        at 
>> org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.copy(RepositoryUpgrade.java:525)
>>        at 
>> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.upgrade(OakUpgrade.java:65)
>>        at 
>> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:53)
>>        ... 1 more
>> Caused by: java.lang.NullPointerException
>>        at 
>> org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.mapSecurityConfig(RepositoryUpgrade.java:615)
>>        at 
>> org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.copy(RepositoryUpgrade.java:388)
>>        ... 3 more
>> 
>> Is there any way to get oak-upgrade to work? Or is there any other method of 
>> migrating?
>> 
>> Thanks,
>> Rob.
>> 

Reply via email to