You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@gora.apache.org by "Kevin Findlay (JIRA)" <ji...@apache.org> on 2015/08/29 22:13:45 UTC

[jira] [Resolved] (GORA-428) Null pointer exception caused by incorrect handling of gora.mongodb.login values that don't validate

     [ https://issues.apache.org/jira/browse/GORA-428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Findlay resolved GORA-428.
--------------------------------
    Resolution: Fixed

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