[ 
https://issues.apache.org/jira/browse/GORA-428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14721244#comment-14721244
 ] 

Kevin Findlay commented on GORA-428:
------------------------------------

I have now checked version 0.7, which I should have done prior to submitting 
the error!  Authentication is no longer taking place in the getDB function and 
the null value has 

I therefore think this issue is specific to 0.5 and is a red-herring.

> Null pointer exception caused by incorrect handling of gora.mongodb.login 
> values that don't validate
> ----------------------------------------------------------------------------------------------------
>
>                 Key: GORA-428
>                 URL: https://issues.apache.org/jira/browse/GORA-428
>             Project: Apache Gora
>          Issue Type: Bug
>          Components: gora-mongodb
>    Affects Versions: 0.5
>         Environment: Ubuntu, Nutch2
>            Reporter: Kevin Findlay
>            Priority: Minor
>             Fix For: 0.7
>
>
> A null pointer exception occurs when the gora.mongodb.login=nutch does not 
> validate. 
> Line 250 of the MongoStore class in  method "private DB getDB(final String 
> servers, final String dbname, final String login, final String secret) throws 
> UnknownHostException" returns a null when the user is not validated. 
>     if (login != null && secret != null) {
>   ****PROBLEM****    auth = db.authenticate(login, secret.toCharArray());
>     }
> This causes the method to return a null to :
>       mongoClientDB = getDB(vPropMongoServers, vPropMongoDb, vPropMongoLogin, 
>    vPropMongoSecret);
> In line 173 of MongoStore  "public void initialize(final Class<K> keyClass,
>       final Class<T> pPersistentClass, final Properties properties)"
> The code attempts to use this null value
> *****PROBLEM**** 
> as    mongoClientColl = mongoClientDB
>           .getCollection(mapping.getCollectionName());
> The solution is to check for a null point for mongoClientDB prior to use or, 
> better, write specific code to report when a login to MongoDB fails due to 
> authentication.
> ERROR MESSAGE
> InjectorJob: org.apache.gora.util.GoraException: 
> java.lang.NullPointerException
>       at 
> org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:169)
>       at 
> org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:137)
>       at 
> org.apache.nutch.storage.StorageUtils.createWebStore(StorageUtils.java:78)
>       at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:218)
>       at org.apache.nutch.crawl.InjectorJob.inject(InjectorJob.java:252)
>       at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:275)
>       at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
>       at org.apache.nutch.crawl.InjectorJob.main(InjectorJob.java:284)
> Caused by: java.lang.NullPointerException
>       at 
> org.apache.gora.mongodb.store.MongoStore.initialize(MongoStore.java:173)
>       at 
> org.apache.gora.store.DataStoreFactory.initializeDataStore(DataStoreFactory.java:104)
>       at 
> org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:163)
>       ... 7 more



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to