Does es-amazon-s3-river work with elasticsearch 1.0.2?


(Kuo Hugo) #1

Version : elasticsearch 1.0.2 (installed from ubuntu repo)
es-amazon-s3-river : https://github.com/lbroudoux/es-amazon-s3-river

Hi all,

There's a problem regarding to s3-river plugin.
I followed the instruction to install the plugin in my elasticsearch box
here. A Warning meg shows up in the elasticsearch.log as below :

[2014-04-16 02:44:17,067][WARN ][river ] [elk01] failed
to create river [amazon-s3][mys3docs]
org.elasticsearch.common.inject.CreationException: Guice creation errors:

  1. Error injecting constructor, java.lang.IllegalArgumentException: Access
    key cannot be null.
    at
    com.github.lbroudoux.elasticsearch.river.s3.river.S3River.(Unknown
    Source)
    while locating com.github.lbroudoux.elasticsearch.river.s3.river.S3River
    while locating org.elasticsearch.river.River

1 error
at
org.elasticsearch.common.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:344)
at
org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:178)
at
org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)
at
org.elasticsearch.common.inject.InjectorImpl.createChildInjector(InjectorImpl.java:131)
at
org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:69)
at
org.elasticsearch.river.RiversService.createRiver(RiversService.java:140)
at
org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:275)
at
org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:269)
at
org.elasticsearch.action.support.TransportAction$ThreadedActionListener$1.run(TransportAction.java:93)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
Caused by: java.lang.IllegalArgumentException: Access key cannot be null.
at
com.amazonaws.auth.BasicAWSCredentials.(BasicAWSCredentials.java:37)
at
com.github.lbroudoux.elasticsearch.river.s3.connector.S3Connector.connectUserBucket(S3Connector.java:66)
at
com.github.lbroudoux.elasticsearch.river.s3.river.S3River.(S3River.java:134)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:534)
at
org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:54)
at
org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
at
org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
at
org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:52)
at
org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at
org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837)
at
org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57)
at
org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
at
org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:200)
at
org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)
at
org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:830)
at
org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193)
at
org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)
... 10 more

Did I miss something here ? Is the s3-river plugin still working with
elasticsearch 1.0.2 ?

Here's the metadata :

root@elk01:~# curl 'http://192.168.1.185:9200/_river/mys3docs/_meta

'
{"_index":"_river","_type":"mys3docs","_id":"_meta","_version":1,"found":true,
"_source" : {
"type": "amazon-s3",
"amazon-s3": {
"access_key": "AAAAAAAAAAA",
"secret_key": "BBBBBBBBBBBBBBBBBBB",
"name": "My Amazon S3 feed",
"bucket" : "old_2",
"pathPrefix": "Work/",
"update_rate": 300000,
"includes": ".doc,.pdf",
"excludes": ".zip,.gz"
}

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/b4d7dc24-369d-42fb-9b1a-a5db0a2a438e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(David Pilato) #2

You should open an issue in https://github.com/lbroudoux/es-amazon-s3-river
And ask for an upgrade.

Or you need to fix it yourself and build a new version.

--
David Pilato | Technical Advocate | Elasticsearch.com
@dadoonet | @elasticsearchfr

Le 16 avril 2014 à 11:59:57, Kuo Hugo (tonytkdk@gmail.com) a écrit:

Version : elasticsearch 1.0.2 (installed from ubuntu repo)
es-amazon-s3-river : https://github.com/lbroudoux/es-amazon-s3-river

Hi all,

There's a problem regarding to s3-river plugin.
I followed the instruction to install the plugin in my elasticsearch box here. A Warning meg shows up in the elasticsearch.log as below :

[2014-04-16 02:44:17,067][WARN ][river ] [elk01] failed to create river [amazon-s3][mys3docs]
org.elasticsearch.common.inject.CreationException: Guice creation errors:

  1. Error injecting constructor, java.lang.IllegalArgumentException: Access key cannot be null.
    at com.github.lbroudoux.elasticsearch.river.s3.river.S3River.(Unknown Source)
    while locating com.github.lbroudoux.elasticsearch.river.s3.river.S3River
    while locating org.elasticsearch.river.River

1 error
at org.elasticsearch.common.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:344)
at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:178)
at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)
at org.elasticsearch.common.inject.InjectorImpl.createChildInjector(InjectorImpl.java:131)
at org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:69)
at org.elasticsearch.river.RiversService.createRiver(RiversService.java:140)
at org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:275)
at org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:269)
at org.elasticsearch.action.support.TransportAction$ThreadedActionListener$1.run(TransportAction.java:93)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
Caused by: java.lang.IllegalArgumentException: Access key cannot be null.
at com.amazonaws.auth.BasicAWSCredentials.(BasicAWSCredentials.java:37)
at com.github.lbroudoux.elasticsearch.river.s3.connector.S3Connector.connectUserBucket(S3Connector.java:66)
at com.github.lbroudoux.elasticsearch.river.s3.river.S3River.(S3River.java:134)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:534)
at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:54)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
at org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:52)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57)
at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:200)
at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:830)
at org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193)
at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)
... 10 more

Did I miss something here ? Is the s3-river plugin still working with elasticsearch 1.0.2 ?

Here's the metadata :

root@elk01:~# curl 'http://192.168.1.185:9200/_river/mys3docs/_meta

'
{"_index":"_river","_type":"mys3docs","_id":"_meta","_version":1,"found":true, "_source" : {
"type": "amazon-s3",
"amazon-s3": {
"access_key": "AAAAAAAAAAA",
"secret_key": "BBBBBBBBBBBBBBBBBBB",
"name": "My Amazon S3 feed",
"bucket" : "old_2",
"pathPrefix": "Work/",
"update_rate": 300000,
"includes": ".doc,.pdf",
"excludes": ".zip,.gz"
}

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/b4d7dc24-369d-42fb-9b1a-a5db0a2a438e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/etPan.534e7183.6b8b4567.12a1e%40MacBook-Air-de-David.local.
For more options, visit https://groups.google.com/d/optout.


(laurent broudoux) #3

Hi,

I think the problem comes from your river definition. In your post, you
mention specifying access_key though the key is accessKey (check
https://github.com/lbroudoux/es-amazon-s3-river).

Configuration keys for this S3 River are - not yet - homogeneous with other
river configuration keys.

Regards,

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/a4b1d293-1b52-4f11-9fa0-790d8fda8f32%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(system) #4