You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@usergrid.apache.org by Petteri Sulonen <pe...@avaintec.com> on 2016/06/03 12:49:46 UTC

Startup fails with BeanCreationException for shiroFilter

Hi, folks --

I'm evaluating Usergrid as a candidate for our cloud service backend, 
and am attempting to set up a simple, single-node, single-server 
installation of it, but can't get it to respond; 
http://localhost:8080/status comes back with a blank 404.

I'm following the instructions here: 
https://usergrid.apache.org/docs/installation/deployment-guide.html.

OS: Ubuntu 16.04 (server)

Java version: 1.8.0_91 (Oracle)

Cassandra:

$ cqlsh

Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.0.6 | CQL spec 3.4.0 | Native protocol v4]
Use HELP for help.

Elasticsearch:

$ curl http://localhost:9200
{
   "name" : "Devos the Devastator",
   "cluster_name" : "elasticsearch",
   "version" : {
     "number" : "2.3.3",
     "build_hash" : "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
     "build_timestamp" : "2016-05-17T15:40:04Z",
     "build_snapshot" : false,
     "lucene_version" : "5.5.0"
   },
   "tagline" : "You Know, for Search"
}

ROOT.war is in /var/lib/tomcat7/webapps.

When I start Tomcat7, I get the following in /var/log/tomcat7/catalina.out:

14:22:50,304  INFO AbstractLockManager:70 - HLockManagerConfigurator 
[keyspaceName=Locks, lockManagerCF=HLocks, rowsCacheEnabled=true, 
locksTTLInMillis=2000, backOffRetryDelayInMillis=100, replicationFac
tor=1, numberOfLockObserverThreads=1, maxSelectSize=10]
14:22:50,339  WARN XmlWebApplicationContext:486 - Exception encountered 
during context initialization - cancelling refresh attempt
org.springframework.beans.factory.BeanCreationException: Error creating 
bean with name 'shiroFilter' defined in class path resource 
[usergrid-rest-context.xml]: BeanPostProcessor before instantiation of
bean failed; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating 
bean with name 
'org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor#0
' defined in class path resource [usergrid-rest-context.xml]: Cannot 
resolve reference to bean 'securityManager' while setting bean property 
'securityManager'; nested exception is org.springframework.bea
ns.factory.BeanCreationException: Error creating bean with name 
'securityManager' defined in class path resource 
[usergrid-rest-context.xml]: Cannot resolve reference to bean 'realm' 
while setting bean p
roperty 'realm'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating 
bean with name 'realm': Injection of autowired dependencies failed; 
nested exception is org.sp
ringframework.beans.factory.BeanCreationException: Could not autowire 
method: public void 
org.apache.usergrid.security.shiro.Realm.setEntityManagerFactory(org.apache.usergrid.persistence.EntityManagerFac
tory); nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating 
bean with name 'entityManagerFactory' defined in class path resource 
[usergrid-core-context.xml]: Cannot
  resolve reference to bean 'cassandraService' while setting constructor 
argument; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating 
bean with name 'cassandraServ
ice' defined in class path resource [usergrid-core-context.xml]: Cannot 
resolve reference to bean 'lockManager' while setting constructor 
argument; nested exception is org.springframework.beans.factory.B
eanCreationException: Error creating bean with name 'lockManager': 
Invocation of init method failed; nested exception is 
me.prettyprint.hector.api.exceptions.HectorException: All host pools 
marked down.
Retry burden pushed out to client.
Related cause: 
org.springframework.beans.factory.BeanCurrentlyInCreationException: 
Error creating bean with name 'shiroFilter': Requested bean is currently 
in creation: Is there an unresolvable circular
reference?

I'm kind of stuck and would appreciate any help.

With best regards,

Petteri Sulonen


Re: Startup fails with BeanCreationException for shiroFilter

Posted by Petteri Sulonen <pe...@avaintec.com>.
Yep: I checked cassandra.yaml and while the port was configured 
correctly in it, it had:

start_rpc: false

I switched that to true, restarted Cassandra, and verified with telnet 
that the port responds. That resolved that problem. There's more stuff 
to do there yet clearly (missing keyspace and what have you) but I'll 
see if I can figure those out myself before nagging you here again.

Thanks a lot!

/Petteri


On 03/06/16 15:35, Dave wrote:
> The root cause of the problem appears to be this:
>
>   me.prettyprint.hector.api.exceptions.HectorException: All host 
> pools marked down.
>
> That exception means that Hector (one of the Cassandra clients we use) 
> cannot contact Cassandra. Usually this means that you have the wrong 
> value in one of the Cassandra-related configuration properties 
> (hostname or port is wrong), Cassandra is not running or some network 
> issue is preventing connection to Cassandra.
>
> By default we have this:
>    cassandra.url=localhost:9160
>
> Usergrid will connect to Cassandra and expects Thrift protocol on port 
> 9160.  I wonder: do you have to explicitly enable Thrift on that port 
> in Cassandra 3.x?
>
> Dave
>
>
>
> On Fri, Jun 3, 2016 at 8:49 AM Petteri Sulonen 
> <petteri.sulonen@avaintec.com <ma...@avaintec.com>> 
> wrote:
>
>     Hi, folks --
>
>     I'm evaluating Usergrid as a candidate for our cloud service backend,
>     and am attempting to set up a simple, single-node, single-server
>     installation of it, but can't get it to respond;
>     http://localhost:8080/status comes back with a blank 404.
>
>     I'm following the instructions here:
>     https://usergrid.apache.org/docs/installation/deployment-guide.html.
>
>     OS: Ubuntu 16.04 (server)
>
>     Java version: 1.8.0_91 (Oracle)
>
>     Cassandra:
>
>     $ cqlsh
>
>     Connected to Test Cluster at 127.0.0.1:9042 <http://127.0.0.1:9042>.
>     [cqlsh 5.0.1 | Cassandra 3.0.6 | CQL spec 3.4.0 | Native protocol v4]
>     Use HELP for help.
>
>     Elasticsearch:
>
>     $ curl http://localhost:9200
>     {
>        "name" : "Devos the Devastator",
>        "cluster_name" : "elasticsearch",
>        "version" : {
>          "number" : "2.3.3",
>          "build_hash" : "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
>          "build_timestamp" : "2016-05-17T15:40:04Z",
>          "build_snapshot" : false,
>          "lucene_version" : "5.5.0"
>        },
>        "tagline" : "You Know, for Search"
>     }
>
>     ROOT.war is in /var/lib/tomcat7/webapps.
>
>     When I start Tomcat7, I get the following in
>     /var/log/tomcat7/catalina.out:
>
>     14:22:50,304  INFO AbstractLockManager:70 - HLockManagerConfigurator
>     [keyspaceName=Locks, lockManagerCF=HLocks, rowsCacheEnabled=true,
>     locksTTLInMillis=2000, backOffRetryDelayInMillis=100, replicationFac
>     tor=1, numberOfLockObserverThreads=1, maxSelectSize=10]
>     14:22:50,339  WARN XmlWebApplicationContext:486 - Exception
>     encountered
>     during context initialization - cancelling refresh attempt
>     org.springframework.beans.factory.BeanCreationException: Error
>     creating
>     bean with name 'shiroFilter' defined in class path resource
>     [usergrid-rest-context.xml]: BeanPostProcessor before instantiation of
>     bean failed; nested exception is
>     org.springframework.beans.factory.BeanCreationException: Error
>     creating
>     bean with name
>     'org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor#0
>     ' defined in class path resource [usergrid-rest-context.xml]: Cannot
>     resolve reference to bean 'securityManager' while setting bean
>     property
>     'securityManager'; nested exception is org.springframework.bea
>     ns.factory.BeanCreationException: Error creating bean with name
>     'securityManager' defined in class path resource
>     [usergrid-rest-context.xml]: Cannot resolve reference to bean 'realm'
>     while setting bean p
>     roperty 'realm'; nested exception is
>     org.springframework.beans.factory.BeanCreationException: Error
>     creating
>     bean with name 'realm': Injection of autowired dependencies failed;
>     nested exception is org.sp
>     ringframework.beans.factory.BeanCreationException: Could not autowire
>     method: public void
>     org.apache.usergrid.security.shiro.Realm.setEntityManagerFactory(org.apache.usergrid.persistence.EntityManagerFac
>     tory); nested exception is
>     org.springframework.beans.factory.BeanCreationException: Error
>     creating
>     bean with name 'entityManagerFactory' defined in class path resource
>     [usergrid-core-context.xml]: Cannot
>       resolve reference to bean 'cassandraService' while setting
>     constructor
>     argument; nested exception is
>     org.springframework.beans.factory.BeanCreationException: Error
>     creating
>     bean with name 'cassandraServ
>     ice' defined in class path resource [usergrid-core-context.xml]:
>     Cannot
>     resolve reference to bean 'lockManager' while setting constructor
>     argument; nested exception is org.springframework.beans.factory.B
>     eanCreationException: Error creating bean with name 'lockManager':
>     Invocation of init method failed; nested exception is
>     me.prettyprint.hector.api.exceptions.HectorException: All host pools
>     marked down.
>     Retry burden pushed out to client.
>     Related cause:
>     org.springframework.beans.factory.BeanCurrentlyInCreationException:
>     Error creating bean with name 'shiroFilter': Requested bean is
>     currently
>     in creation: Is there an unresolvable circular
>     reference?
>
>     I'm kind of stuck and would appreciate any help.
>
>     With best regards,
>
>     Petteri Sulonen
>



Re: Startup fails with BeanCreationException for shiroFilter

Posted by Petteri Sulonen <pe...@avaintec.com>.
I am up and running, exploring the management portal!

Cassandra 3.0.6 seems to be working fine; if I run into any problems I 
will downgrade. Many thanks for your help, this was driving me nuts!

Best, Petteri

On 06/06/16 11:51, Jaskaran Singh wrote:
> Yes, the ES version could be a problem. We are using ElasticSearch 
> version 1.4.4
> So, we recommend using a similar version of ES.
>
> Also we noticed you are using Cassandra version 3.0.6. In our setup we 
> are using Cassandra version 2.2.6
>
> Let me know if this helps.
>
>
> On Mon, Jun 6, 2016 at 3:10 PM, Petteri Sulonen 
> <petteri.sulonen@avaintec.com <ma...@avaintec.com>> 
> wrote:
>
>     Thanks. Now I'm seeing this in catalina.out:
>
>     11:36:24,607  WARN unicast:460 - [default] failed to send ping to
>     [[#zen_unicast_1#][vmu-psulonen2][inet[/127.0.0.1
>     <http://127.0.0.1>:9300]]]
>     org.elasticsearch.transport.RemoteTransportException: Failed to
>     deserialize exception response from stream
>     Caused by:
>     org.elasticsearch.transport.TransportSerializationException:
>     Failed to deserialize exception response from stream
>         at
>     org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:173)
>         at
>     org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:125)
>         at
>     org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
>         at
>     org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
>         at
>     org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
>         at
>     org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:296)
>         at
>     org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
>         at
>     org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
>         at
>     org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
>         at
>     org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
>         at
>     org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
>         at
>     org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
>         at
>     org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268)
>         at
>     org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255)
>         at
>     org.elasticsearch.common.netty.channel.socket.oio.OioWorker.process(OioWorker.java:71)
>         at
>     org.elasticsearch.common.netty.channel.socket.oio.AbstractOioWorker.run(AbstractOioWorker.java:73)
>         at
>     org.elasticsearch.common.netty.channel.socket.oio.OioWorker.run(OioWorker.java:51)
>         at
>     org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
>         at
>     org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
>         at
>     java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at
>     java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at java.lang.Thread.run(Thread.java:745)
>     Caused by: java.io <http://java.io>.StreamCorruptedException:
>     Unsupported version: 1
>         at org.elasticsearch.common.io
>     <http://org.elasticsearch.common.io>.ThrowableObjectInputStream.readStreamHeader(ThrowableObjectInputStream.java:46)
>         at java.io.ObjectInputStream.<init>(ObjectInputStream.java:301)
>         at org.elasticsearch.common.io
>     <http://org.elasticsearch.common.io>.ThrowableObjectInputStream.<init>(ThrowableObjectInputStream.java:38)
>         at
>     org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:170)
>         ... 21 more
>
>     Could this mean I'm using the wrong version of Elasticsearch? I'm
>     running version 2.3.3.
>
>     Best, Petteri
>
>     On 06/06/16 11:31, Jaskaran Singh wrote:
>
>
>         I would suggest the following change, it is also consistent
>         with the latest usergrid 2.x documentation:
>         http://usergrid.apache.org/docs/installation/deployment-guide.html#example-usergrid-stack-properties-file
>
>         *Remove the line "elasticsearch.port=9200" (Should default to
>         9300)*
>
>         Let me know what happens.
>
>         On Mon, Jun 6, 2016 at 2:37 PM, Petteri Sulonen
>         <petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>         <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>> wrote:
>
>             Hi, Jaskaran --
>
>             Yes, I have set elasticsearch.port to 9200. I'm appending my
>         /usr/share/tomcat7/lib/usergrid-deployment.properties file.
>
>             Thanks for your help,
>
>             /Petteri
>
>             ## BEGINS ##
>             usergrid.cluster_name=usergrid
>
>             cassandra.url=127.0.0.1:9160 <http://127.0.0.1:9160>
>         <http://127.0.0.1:9160>
>             cassandra.cluster=Test Cluster
>
>             elasticsearch.cluster_name=elasticsearch
>             elasticsearch.hosts=127.0.0.1
>             elasticsearch.port=9200
>
>         ######################################################
>             # Admin and test user setup
>
>             usergrid.sysadmin.login.allowed=true
>         usergrid.sysadmin.login.name <http://usergrid.sysadmin.login.name>
>             <http://usergrid.sysadmin.login.name>=superuser
>             usergrid.sysadmin.login.password=test
>             usergrid.sysadmin.login.email=sy.sadmin@avaintec.com
>         <ma...@avaintec.com>
>             <mailto:sy.sadmin@avaintec.com
>         <ma...@avaintec.com>>
>
>             usergrid.sysadmin.email=petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>             <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>
>             usergrid.sysadmin.approve.users=true
>             usergrid.sysadmin.approve.organizations=true
>
>             # Base mailer account - default for all outgoing messages
>             usergrid.management.mailer=Admin
>         <petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>             <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>>
>
>             usergrid.setup-test-account=true
>             usergrid.test-account.app=test-app
>         usergrid.test-account.organization=test-organization
>             usergrid.test-account.admin-user.username=test
>         usergrid.test-account.admin-user.name
>         <http://usergrid.test-account.admin-user.name>
>             <http://usergrid.test-account.admin-user.name>=Test User
>            
>         usergrid.test-account.admin-user.email=petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>             <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>
>             usergrid.test-account.admin-user.password=test
>
>         ######################################################
>             # Auto-confirm and sign-up notifications settings
>
>         usergrid.management.admin_users_require_confirmation=false
>         usergrid.management.admin_users_require_activation=false
>
>         usergrid.management.organizations_require_activation=false
>         usergrid.management.notify_sysadmin_of_new_organizations=true
>         usergrid.management.notify_sysadmin_of_new_admin_users=true
>
>         ######################################################
>             # URLs
>
>             # Redirect path when request come in for TLD
>             usergrid.redirect_root=http://192.168.0.30/status
>
>         usergrid.view.management.organizations.organization.activate=http://192.168.0.30/accounts/welcome
>         usergrid.view.management.organizations.organization.confirm=http://192.168.0.30/accounts/welcome
>
>            
>         usergrid.view.management.users.user.activate=http://192.168.0.30/accounts/welcome
>            
>         usergrid.view.management.users.user.confirm=http://192.168.0.30/accounts/welcome
>
>            
>         usergrid.admin.confirmation.url=http://192.168.0.30/management/users/%s/confirm
>            
>         usergrid.user.confirmation.url=http://192.168.0.30/%s/%s/users/%s/confirm
>            
>         usergrid.organization.activation.url=http://192.168.0.30/management/organizations/%s/activate
>            
>         usergrid.admin.activation.url=http://192.168.0.30/management/users/%s/activate
>            
>         usergrid.user.activation.url=http://192.168.0.24%s/%s/users/%s/activate
>
>            
>         usergrid.admin.resetpw.url=http://192.168.0.30/management/users/%s/resetpw
>            
>         usergrid.user.resetpw.url=http://192.168.0.30/%s/%s/users/%s/resetpw
>             ## ENDS ##
>
>
>             On 06/06/16 10:57, Jaskaran Singh wrote:
>
>                 Hi Petteri,
>                 Could you post your usergrid-deployment.properties
>         file. This
>                 will help in figuring out the issue.
>                 Also by any chance have you specified the
>         elasticsearch port
>                 to 9200 in your usergrid property config? Normally it
>         should
>                 connect on 9300, unless you have specified the port in
>         your
>                 config.
>         https://groups.google.com/forum/#!topic/elasticsearch/sIxoF76OuxY
>         <https://groups.google.com/forum/#%21topic/elasticsearch/sIxoF76OuxY>
>                
>         <https://groups.google.com/forum/#%21topic/elasticsearch/sIxoF76OuxY>
>                
>         <https://groups.google.com/forum/#%21topic/elasticsearch/sIxoF76OuxY>
>
>
>                 On Mon, Jun 6, 2016 at 12:29 PM, Petteri Sulonen
>                 <petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>                 <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>
>                 <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>                 <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>>> wrote:
>
>                     Hi again --
>
>                     All right, making slow progress, but I'm stuck again.
>                 Attempting
>                     to curl status fails after a pretty long timeout:
>
>                     root@vmu-psulonen2:/var/log/tomcat7# curl
>         http://localhost:8080/status
>         {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
>                     Server
>         Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
>
>
>                     The catalina.out log has quite a lot of stuff in
>         it. From the
>                     relevant time:
>
>                     08:51:37,823 ERROR AbstractExceptionMapper:106 -
>         Server
>                 Error (500):
>         {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
>                     Server
>         Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
>                     08:51:37,828  INFO UsergridSystemMonitor:103 -
>         TimerThreshold
>                     triggered on duration: 30009
>                     {"path":"/status","applicationId":null}
>                     ----------------
>                     08:51:39,588  WARN unicast:460 - [default] failed
>         to send
>                 ping to
>                     [[#zen_unicast_1#][vmu-psulonen2][inet[/127.0.0.1
>         <http://127.0.0.1>
>                 <http://127.0.0.1>
>                     <http://127.0.0.1>:9200]]]
>         org.elasticsearch.transport.ReceiveTimeoutTransportException:
>         [][inet[/127.0.0.1:9200]][internal:discovery/zen/unicast_gte_1_4]
>                     request_id [267] timed out after [3751ms]
>                         at
>         org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:366)
>                         at
>         java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>                         at
>         java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>                         at java.lang.Thread.run(Thread.java:745)
>                     08:51:42,076  INFO JobSchedulerService:97 -
>         Running one check
>                     iteration ...
>                     08:51:42,077  INFO CassandraMQUtils:249 -
>                     QueueManagerFactoryImpl.getFromQueue: /jobs/
>                     08:51:42,145 ERROR AbstractSearch:272 - Error getting
>                 oldest queue
>                     message ID
>         me.prettyprint.hector.api.exceptions.HInvalidRequestException:
>                     InvalidRequestException(why:Keyspace
>                 'Usergrid_Applications' does
>                     not exist)
>                         at
>         me.prettyprint.cassandra.connection.client.HThriftClient.getCassandra(HThriftClient.java:112)
>                         at
>         me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:251)
>                         at
>         me.prettyprint.cassandra.service.KeyspaceServiceImpl.operateWithFailover(KeyspaceServiceImpl.java:132)
>                         at
>         me.prettyprint.cassandra.service.KeyspaceServiceImpl.getSlice(KeyspaceServiceImpl.java:290)
>                         at
>         me.prettyprint.cassandra.service.VirtualKeyspaceServiceImpl.getSlice(VirtualKeyspaceServiceImpl.java:133)
>
>                     I figure the "Keyspace 'Usergrid_Applications'
>         does not exist"
>                     errors are because the database isn't initialised.
>         However
>                     curl'ing the DB init URL from the config doc
>         results in a
>                 similar
>                     error as my status call above. Additionally, there
>         are those
>                     failed pings to elasticsearch; I did telnet to
>         127.0.0.1
>                 9200 and
>                     the port does connect.
>
>                     There's more stuff in the log from the startup but
>         I'm not
>                 sure
>                     how relevant it is.
>
>                     Your help is again much appreciated,
>
>                     Petteri
>
>                     On 03/06/16 15:35, Dave wrote:
>
>                         The root cause of the problem appears to be this:
>
>         me.prettyprint.hector.api.exceptions.HectorException: All host
>                         pools marked down.
>
>                         That exception means that Hector (one of the
>         Cassandra
>                 clients
>                         we use) cannot contact Cassandra. Usually this
>         means
>                 that you
>                         have the wrong value in one of the
>         Cassandra-related
>                         configuration properties (hostname or port is
>         wrong),
>                         Cassandra is not running or some network issue is
>                 preventing
>                         connection to Cassandra.
>
>                         By default we have this:
>                            cassandra.url=localhost:9160
>
>                         Usergrid will connect to Cassandra and expects
>         Thrift
>                 protocol
>                         on port 9160.  I wonder: do you have to
>         explicitly enable
>                         Thrift on that port in Cassandra 3.x?
>
>                         Dave
>
>
>
>                         On Fri, Jun 3, 2016 at 8:49 AM Petteri Sulonen
>                         <petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>                 <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>
>                         <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>                 <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>>
>                         <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>                 <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>
>                         <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>                 <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>>>> wrote:
>
>                             Hi, folks --
>
>                             I'm evaluating Usergrid as a candidate for
>         our cloud
>                         service backend,
>                             and am attempting to set up a simple,
>         single-node,
>                         single-server
>                             installation of it, but can't get it to
>         respond;
>         http://localhost:8080/status comes back with a blank 404.
>
>                             I'm following the instructions here:
>         https://usergrid.apache.org/docs/installation/deployment-guide.html.
>
>                             OS: Ubuntu 16.04 (server)
>
>                             Java version: 1.8.0_91 (Oracle)
>
>                             Cassandra:
>
>                             $ cqlsh
>
>                             Connected to Test Cluster at
>         127.0.0.1:9042 <http://127.0.0.1:9042>
>                 <http://127.0.0.1:9042>
>                         <http://127.0.0.1:9042> <http://127.0.0.1:9042>.
>                             [cqlsh 5.0.1 | Cassandra 3.0.6 | CQL spec
>         3.4.0 |
>                 Native
>                         protocol v4]
>                             Use HELP for help.
>
>                             Elasticsearch:
>
>                             $ curl http://localhost:9200
>                             {
>                                "name" : "Devos the Devastator",
>                                "cluster_name" : "elasticsearch",
>                                "version" : {
>                                  "number" : "2.3.3",
>                                  "build_hash" :
>         "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
>                                  "build_timestamp" :
>         "2016-05-17T15:40:04Z",
>                                  "build_snapshot" : false,
>                                  "lucene_version" : "5.5.0"
>                                },
>                                "tagline" : "You Know, for Search"
>                             }
>
>                             ROOT.war is in /var/lib/tomcat7/webapps.
>
>                             When I start Tomcat7, I get the following in
>                             /var/log/tomcat7/catalina.out:
>
>                             14:22:50,304  INFO AbstractLockManager:70 -
>                         HLockManagerConfigurator
>                             [keyspaceName=Locks, lockManagerCF=HLocks,
>                         rowsCacheEnabled=true,
>                             locksTTLInMillis=2000,
>         backOffRetryDelayInMillis=100,
>                         replicationFac
>                             tor=1, numberOfLockObserverThreads=1,
>                 maxSelectSize=10]
>                             14:22:50,339  WARN
>         XmlWebApplicationContext:486 -
>                 Exception
>                             encountered
>                             during context initialization - cancelling
>         refresh
>                 attempt
>         org.springframework.beans.factory.BeanCreationException: Error
>                             creating
>                             bean with name 'shiroFilter' defined in
>         class path
>                 resource
>                             [usergrid-rest-context.xml]:
>         BeanPostProcessor before
>                         instantiation of
>                             bean failed; nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>                             creating
>                             bean with name
>         'org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor#0
>                             ' defined in class path resource
>                         [usergrid-rest-context.xml]: Cannot
>                             resolve reference to bean
>         'securityManager' while
>                 setting bean
>                             property
>                             'securityManager'; nested exception is
>                 org.springframework.bea
>                             ns.factory.BeanCreationException: Error
>         creating
>                 bean with
>                         name
>                             'securityManager' defined in class path
>         resource
>                             [usergrid-rest-context.xml]: Cannot resolve
>                 reference to
>                         bean 'realm'
>                             while setting bean p
>                             roperty 'realm'; nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>                             creating
>                             bean with name 'realm': Injection of autowired
>                         dependencies failed;
>                             nested exception is org.sp
>         ringframework.beans.factory.BeanCreationException: Could not
>                         autowire
>                             method: public void
>         org.apache.usergrid.security.shiro.Realm.setEntityManagerFactory(org.apache.usergrid.persistence.EntityManagerFac
>                             tory); nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>                             creating
>                             bean with name 'entityManagerFactory'
>         defined in class
>                         path resource
>                             [usergrid-core-context.xml]: Cannot
>                               resolve reference to bean 'cassandraService'
>                 while setting
>                             constructor
>                             argument; nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>                             creating
>                             bean with name 'cassandraServ
>                             ice' defined in class path resource
>                         [usergrid-core-context.xml]:
>                             Cannot
>                             resolve reference to bean 'lockManager'
>         while setting
>                         constructor
>                             argument; nested exception is
>                         org.springframework.beans.factory.B
>                             eanCreationException: Error creating bean
>         with name
>                         'lockManager':
>                             Invocation of init method failed; nested
>         exception is
>         me.prettyprint.hector.api.exceptions.HectorException: All host
>                         pools
>                             marked down.
>                             Retry burden pushed out to client.
>                             Related cause:
>         org.springframework.beans.factory.BeanCurrentlyInCreationException:
>                             Error creating bean with name 'shiroFilter':
>                 Requested bean is
>                             currently
>                             in creation: Is there an unresolvable circular
>                             reference?
>
>                             I'm kind of stuck and would appreciate any
>         help.
>
>                             With best regards,
>
>                             Petteri Sulonen
>
>
>
>
>
>
>
>
>
>



Re: Startup fails with BeanCreationException for shiroFilter

Posted by Jaskaran Singh <ja...@comprotechnologies.com>.
Yes, the ES version could be a problem. We are using ElasticSearch version
1.4.4
So, we recommend using a similar version of ES.

Also we noticed you are using Cassandra version 3.0.6. In our setup we are
using Cassandra version 2.2.6

Let me know if this helps.



On Mon, Jun 6, 2016 at 3:10 PM, Petteri Sulonen <
petteri.sulonen@avaintec.com> wrote:

> Thanks. Now I'm seeing this in catalina.out:
>
> 11:36:24,607  WARN unicast:460 - [default] failed to send ping to
> [[#zen_unicast_1#][vmu-psulonen2][inet[/127.0.0.1:9300]]]
> org.elasticsearch.transport.RemoteTransportException: Failed to
> deserialize exception response from stream
> Caused by: org.elasticsearch.transport.TransportSerializationException:
> Failed to deserialize exception response from stream
>     at
> org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:173)
>     at
> org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:125)
>     at
> org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
>     at
> org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
>     at
> org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
>     at
> org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:296)
>     at
> org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
>     at
> org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
>     at
> org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
>     at
> org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
>     at
> org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
>     at
> org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
>     at
> org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268)
>     at
> org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255)
>     at
> org.elasticsearch.common.netty.channel.socket.oio.OioWorker.process(OioWorker.java:71)
>     at
> org.elasticsearch.common.netty.channel.socket.oio.AbstractOioWorker.run(AbstractOioWorker.java:73)
>     at
> org.elasticsearch.common.netty.channel.socket.oio.OioWorker.run(OioWorker.java:51)
>     at
> org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
>     at
> org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>     at java.lang.Thread.run(Thread.java:745)
> Caused by: java.io.StreamCorruptedException: Unsupported version: 1
>     at org.elasticsearch.common.io
> .ThrowableObjectInputStream.readStreamHeader(ThrowableObjectInputStream.java:46)
>     at java.io.ObjectInputStream.<init>(ObjectInputStream.java:301)
>     at org.elasticsearch.common.io
> .ThrowableObjectInputStream.<init>(ThrowableObjectInputStream.java:38)
>     at
> org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:170)
>     ... 21 more
>
> Could this mean I'm using the wrong version of Elasticsearch? I'm running
> version 2.3.3.
>
> Best, Petteri
>
> On 06/06/16 11:31, Jaskaran Singh wrote:
>
>>
>> I would suggest the following change, it is also consistent with the
>> latest usergrid 2.x documentation:
>>
>> http://usergrid.apache.org/docs/installation/deployment-guide.html#example-usergrid-stack-properties-file
>>
>> *Remove the line "elasticsearch.port=9200" (Should default to 9300)*
>>
>> Let me know what happens.
>>
>> On Mon, Jun 6, 2016 at 2:37 PM, Petteri Sulonen <
>> petteri.sulonen@avaintec.com <ma...@avaintec.com>>
>> wrote:
>>
>>     Hi, Jaskaran --
>>
>>     Yes, I have set elasticsearch.port to 9200. I'm appending my
>>     /usr/share/tomcat7/lib/usergrid-deployment.properties file.
>>
>>     Thanks for your help,
>>
>>     /Petteri
>>
>>     ## BEGINS ##
>>     usergrid.cluster_name=usergrid
>>
>>     cassandra.url=127.0.0.1:9160 <http://127.0.0.1:9160>
>>     cassandra.cluster=Test Cluster
>>
>>     elasticsearch.cluster_name=elasticsearch
>>     elasticsearch.hosts=127.0.0.1
>>     elasticsearch.port=9200
>>
>>     ######################################################
>>     # Admin and test user setup
>>
>>     usergrid.sysadmin.login.allowed=true
>>     usergrid.sysadmin.login.name
>>     <http://usergrid.sysadmin.login.name>=superuser
>>     usergrid.sysadmin.login.password=test
>>     usergrid.sysadmin.login.email=sy.sadmin@avaintec.com
>>     <ma...@avaintec.com>
>>
>>     usergrid.sysadmin.email=petteri.sulonen@avaintec.com
>>     <ma...@avaintec.com>
>>     usergrid.sysadmin.approve.users=true
>>     usergrid.sysadmin.approve.organizations=true
>>
>>     # Base mailer account - default for all outgoing messages
>>     usergrid.management.mailer=Admin <petteri.sulonen@avaintec.com
>>     <ma...@avaintec.com>>
>>
>>     usergrid.setup-test-account=true
>>     usergrid.test-account.app=test-app
>>     usergrid.test-account.organization=test-organization
>>     usergrid.test-account.admin-user.username=test
>>     usergrid.test-account.admin-user.name
>>     <http://usergrid.test-account.admin-user.name>=Test User
>>     usergrid.test-account.admin-user.email=petteri.sulonen@avaintec.com
>>     <ma...@avaintec.com>
>>     usergrid.test-account.admin-user.password=test
>>
>>     ######################################################
>>     # Auto-confirm and sign-up notifications settings
>>
>>     usergrid.management.admin_users_require_confirmation=false
>>     usergrid.management.admin_users_require_activation=false
>>
>>     usergrid.management.organizations_require_activation=false
>>     usergrid.management.notify_sysadmin_of_new_organizations=true
>>     usergrid.management.notify_sysadmin_of_new_admin_users=true
>>
>>     ######################################################
>>     # URLs
>>
>>     # Redirect path when request come in for TLD
>>     usergrid.redirect_root=http://192.168.0.30/status
>>
>>     usergrid.view.management.organizations.organization.activate=
>> http://192.168.0.30/accounts/welcome
>>     usergrid.view.management.organizations.organization.confirm=
>> http://192.168.0.30/accounts/welcome
>>
>>     usergrid.view.management.users.user.activate=
>> http://192.168.0.30/accounts/welcome
>>     usergrid.view.management.users.user.confirm=
>> http://192.168.0.30/accounts/welcome
>>
>>     usergrid.admin.confirmation.url=
>> http://192.168.0.30/management/users/%s/confirm
>>     usergrid.user.confirmation.url=
>> http://192.168.0.30/%s/%s/users/%s/confirm
>>     usergrid.organization.activation.url=
>> http://192.168.0.30/management/organizations/%s/activate
>>     usergrid.admin.activation.url=
>> http://192.168.0.30/management/users/%s/activate
>>     usergrid.user.activation.url=http://192.168.0.24
>> %s/%s/users/%s/activate
>>
>>     usergrid.admin.resetpw.url=
>> http://192.168.0.30/management/users/%s/resetpw
>>     usergrid.user.resetpw.url=http://192.168.0.30/%s/%s/users/%s/resetpw
>>     ## ENDS ##
>>
>>
>>     On 06/06/16 10:57, Jaskaran Singh wrote:
>>
>>         Hi Petteri,
>>         Could you post your usergrid-deployment.properties file. This
>>         will help in figuring out the issue.
>>         Also by any chance have you specified the elasticsearch port
>>         to 9200 in your usergrid property config? Normally it should
>>         connect on 9300, unless you have specified the port in your
>>         config.
>>         https://groups.google.com/forum/#!topic/elasticsearch/sIxoF76OuxY
>>         <
>> https://groups.google.com/forum/#%21topic/elasticsearch/sIxoF76OuxY>
>>         <
>> https://groups.google.com/forum/#%21topic/elasticsearch/sIxoF76OuxY>
>>
>>
>>         On Mon, Jun 6, 2016 at 12:29 PM, Petteri Sulonen
>>         <petteri.sulonen@avaintec.com
>>         <ma...@avaintec.com>
>>         <mailto:petteri.sulonen@avaintec.com
>>         <ma...@avaintec.com>>> wrote:
>>
>>             Hi again --
>>
>>             All right, making slow progress, but I'm stuck again.
>>         Attempting
>>             to curl status fails after a pretty long timeout:
>>
>>             root@vmu-psulonen2:/var/log/tomcat7# curl
>>         http://localhost:8080/status
>>
>> {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
>>             Server
>>
>> Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
>>
>>
>>             The catalina.out log has quite a lot of stuff in it. From the
>>             relevant time:
>>
>>             08:51:37,823 ERROR AbstractExceptionMapper:106 - Server
>>         Error (500):
>>
>> {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
>>             Server
>>
>> Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
>>             08:51:37,828  INFO UsergridSystemMonitor:103 - TimerThreshold
>>             triggered on duration: 30009
>>             {"path":"/status","applicationId":null}
>>             ----------------
>>             08:51:39,588  WARN unicast:460 - [default] failed to send
>>         ping to
>>             [[#zen_unicast_1#][vmu-psulonen2][inet[/127.0.0.1
>>         <http://127.0.0.1>
>>             <http://127.0.0.1>:9200]]]
>>         org.elasticsearch.transport.ReceiveTimeoutTransportException:
>>         [][inet[/127.0.0.1:9200]][internal:discovery/zen/unicast_gte_1_4]
>>             request_id [267] timed out after [3751ms]
>>                 at
>>
>> org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:366)
>>                 at
>>
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>>                 at
>>
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>>                 at java.lang.Thread.run(Thread.java:745)
>>             08:51:42,076  INFO JobSchedulerService:97 - Running one check
>>             iteration ...
>>             08:51:42,077  INFO CassandraMQUtils:249 -
>>             QueueManagerFactoryImpl.getFromQueue: /jobs/
>>             08:51:42,145 ERROR AbstractSearch:272 - Error getting
>>         oldest queue
>>             message ID
>>         me.prettyprint.hector.api.exceptions.HInvalidRequestException:
>>             InvalidRequestException(why:Keyspace
>>         'Usergrid_Applications' does
>>             not exist)
>>                 at
>>
>> me.prettyprint.cassandra.connection.client.HThriftClient.getCassandra(HThriftClient.java:112)
>>                 at
>>
>> me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:251)
>>                 at
>>
>> me.prettyprint.cassandra.service.KeyspaceServiceImpl.operateWithFailover(KeyspaceServiceImpl.java:132)
>>                 at
>>
>> me.prettyprint.cassandra.service.KeyspaceServiceImpl.getSlice(KeyspaceServiceImpl.java:290)
>>                 at
>>
>> me.prettyprint.cassandra.service.VirtualKeyspaceServiceImpl.getSlice(VirtualKeyspaceServiceImpl.java:133)
>>
>>             I figure the "Keyspace 'Usergrid_Applications' does not exist"
>>             errors are because the database isn't initialised. However
>>             curl'ing the DB init URL from the config doc results in a
>>         similar
>>             error as my status call above. Additionally, there are those
>>             failed pings to elasticsearch; I did telnet to 127.0.0.1
>>         9200 and
>>             the port does connect.
>>
>>             There's more stuff in the log from the startup but I'm not
>>         sure
>>             how relevant it is.
>>
>>             Your help is again much appreciated,
>>
>>             Petteri
>>
>>             On 03/06/16 15:35, Dave wrote:
>>
>>                 The root cause of the problem appears to be this:
>>
>>         me.prettyprint.hector.api.exceptions.HectorException: All host
>>                 pools marked down.
>>
>>                 That exception means that Hector (one of the Cassandra
>>         clients
>>                 we use) cannot contact Cassandra. Usually this means
>>         that you
>>                 have the wrong value in one of the Cassandra-related
>>                 configuration properties (hostname or port is wrong),
>>                 Cassandra is not running or some network issue is
>>         preventing
>>                 connection to Cassandra.
>>
>>                 By default we have this:
>>                    cassandra.url=localhost:9160
>>
>>                 Usergrid will connect to Cassandra and expects Thrift
>>         protocol
>>                 on port 9160.  I wonder: do you have to explicitly enable
>>                 Thrift on that port in Cassandra 3.x?
>>
>>                 Dave
>>
>>
>>
>>                 On Fri, Jun 3, 2016 at 8:49 AM Petteri Sulonen
>>                 <petteri.sulonen@avaintec.com
>>         <ma...@avaintec.com>
>>                 <mailto:petteri.sulonen@avaintec.com
>>         <ma...@avaintec.com>>
>>                 <mailto:petteri.sulonen@avaintec.com
>>         <ma...@avaintec.com>
>>                 <mailto:petteri.sulonen@avaintec.com
>>         <ma...@avaintec.com>>>> wrote:
>>
>>                     Hi, folks --
>>
>>                     I'm evaluating Usergrid as a candidate for our cloud
>>                 service backend,
>>                     and am attempting to set up a simple, single-node,
>>                 single-server
>>                     installation of it, but can't get it to respond;
>>         http://localhost:8080/status comes back with a blank 404.
>>
>>                     I'm following the instructions here:
>>
>> https://usergrid.apache.org/docs/installation/deployment-guide.html.
>>
>>                     OS: Ubuntu 16.04 (server)
>>
>>                     Java version: 1.8.0_91 (Oracle)
>>
>>                     Cassandra:
>>
>>                     $ cqlsh
>>
>>                     Connected to Test Cluster at 127.0.0.1:9042
>>         <http://127.0.0.1:9042>
>>                 <http://127.0.0.1:9042> <http://127.0.0.1:9042>.
>>                     [cqlsh 5.0.1 | Cassandra 3.0.6 | CQL spec 3.4.0 |
>>         Native
>>                 protocol v4]
>>                     Use HELP for help.
>>
>>                     Elasticsearch:
>>
>>                     $ curl http://localhost:9200
>>                     {
>>                        "name" : "Devos the Devastator",
>>                        "cluster_name" : "elasticsearch",
>>                        "version" : {
>>                          "number" : "2.3.3",
>>                          "build_hash" :
>>                 "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
>>                          "build_timestamp" : "2016-05-17T15:40:04Z",
>>                          "build_snapshot" : false,
>>                          "lucene_version" : "5.5.0"
>>                        },
>>                        "tagline" : "You Know, for Search"
>>                     }
>>
>>                     ROOT.war is in /var/lib/tomcat7/webapps.
>>
>>                     When I start Tomcat7, I get the following in
>>                     /var/log/tomcat7/catalina.out:
>>
>>                     14:22:50,304  INFO AbstractLockManager:70 -
>>                 HLockManagerConfigurator
>>                     [keyspaceName=Locks, lockManagerCF=HLocks,
>>                 rowsCacheEnabled=true,
>>                     locksTTLInMillis=2000, backOffRetryDelayInMillis=100,
>>                 replicationFac
>>                     tor=1, numberOfLockObserverThreads=1,
>>         maxSelectSize=10]
>>                     14:22:50,339  WARN XmlWebApplicationContext:486 -
>>         Exception
>>                     encountered
>>                     during context initialization - cancelling refresh
>>         attempt
>>         org.springframework.beans.factory.BeanCreationException: Error
>>                     creating
>>                     bean with name 'shiroFilter' defined in class path
>>         resource
>>                     [usergrid-rest-context.xml]: BeanPostProcessor before
>>                 instantiation of
>>                     bean failed; nested exception is
>>         org.springframework.beans.factory.BeanCreationException: Error
>>                     creating
>>                     bean with name
>>
>> 'org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor#0
>>                     ' defined in class path resource
>>                 [usergrid-rest-context.xml]: Cannot
>>                     resolve reference to bean 'securityManager' while
>>         setting bean
>>                     property
>>                     'securityManager'; nested exception is
>>         org.springframework.bea
>>                     ns.factory.BeanCreationException: Error creating
>>         bean with
>>                 name
>>                     'securityManager' defined in class path resource
>>                     [usergrid-rest-context.xml]: Cannot resolve
>>         reference to
>>                 bean 'realm'
>>                     while setting bean p
>>                     roperty 'realm'; nested exception is
>>         org.springframework.beans.factory.BeanCreationException: Error
>>                     creating
>>                     bean with name 'realm': Injection of autowired
>>                 dependencies failed;
>>                     nested exception is org.sp
>>         ringframework.beans.factory.BeanCreationException: Could not
>>                 autowire
>>                     method: public void
>>
>> org.apache.usergrid.security.shiro.Realm.setEntityManagerFactory(org.apache.usergrid.persistence.EntityManagerFac
>>                     tory); nested exception is
>>         org.springframework.beans.factory.BeanCreationException: Error
>>                     creating
>>                     bean with name 'entityManagerFactory' defined in class
>>                 path resource
>>                     [usergrid-core-context.xml]: Cannot
>>                       resolve reference to bean 'cassandraService'
>>         while setting
>>                     constructor
>>                     argument; nested exception is
>>         org.springframework.beans.factory.BeanCreationException: Error
>>                     creating
>>                     bean with name 'cassandraServ
>>                     ice' defined in class path resource
>>                 [usergrid-core-context.xml]:
>>                     Cannot
>>                     resolve reference to bean 'lockManager' while setting
>>                 constructor
>>                     argument; nested exception is
>>                 org.springframework.beans.factory.B
>>                     eanCreationException: Error creating bean with name
>>                 'lockManager':
>>                     Invocation of init method failed; nested exception is
>>         me.prettyprint.hector.api.exceptions.HectorException: All host
>>                 pools
>>                     marked down.
>>                     Retry burden pushed out to client.
>>                     Related cause:
>>
>> org.springframework.beans.factory.BeanCurrentlyInCreationException:
>>                     Error creating bean with name 'shiroFilter':
>>         Requested bean is
>>                     currently
>>                     in creation: Is there an unresolvable circular
>>                     reference?
>>
>>                     I'm kind of stuck and would appreciate any help.
>>
>>                     With best regards,
>>
>>                     Petteri Sulonen
>>
>>
>>
>>
>>
>>
>>
>>
>
>

Re: Startup fails with BeanCreationException for shiroFilter

Posted by Petteri Sulonen <pe...@avaintec.com>.
Thanks. Now I'm seeing this in catalina.out:

11:36:24,607  WARN unicast:460 - [default] failed to send ping to 
[[#zen_unicast_1#][vmu-psulonen2][inet[/127.0.0.1:9300]]]
org.elasticsearch.transport.RemoteTransportException: Failed to 
deserialize exception response from stream
Caused by: org.elasticsearch.transport.TransportSerializationException: 
Failed to deserialize exception response from stream
     at 
org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:173)
     at 
org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:125)
     at 
org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
     at 
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
     at 
org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
     at 
org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:296)
     at 
org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
     at 
org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
     at 
org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
     at 
org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
     at 
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
     at 
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
     at 
org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268)
     at 
org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255)
     at 
org.elasticsearch.common.netty.channel.socket.oio.OioWorker.process(OioWorker.java:71)
     at 
org.elasticsearch.common.netty.channel.socket.oio.AbstractOioWorker.run(AbstractOioWorker.java:73)
     at 
org.elasticsearch.common.netty.channel.socket.oio.OioWorker.run(OioWorker.java:51)
     at 
org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
     at 
org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
     at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
     at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.StreamCorruptedException: Unsupported version: 1
     at 
org.elasticsearch.common.io.ThrowableObjectInputStream.readStreamHeader(ThrowableObjectInputStream.java:46)
     at java.io.ObjectInputStream.<init>(ObjectInputStream.java:301)
     at 
org.elasticsearch.common.io.ThrowableObjectInputStream.<init>(ThrowableObjectInputStream.java:38)
     at 
org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:170)
     ... 21 more

Could this mean I'm using the wrong version of Elasticsearch? I'm 
running version 2.3.3.

Best, Petteri

On 06/06/16 11:31, Jaskaran Singh wrote:
>
> I would suggest the following change, it is also consistent with the 
> latest usergrid 2.x documentation:
> http://usergrid.apache.org/docs/installation/deployment-guide.html#example-usergrid-stack-properties-file
>
> *Remove the line "elasticsearch.port=9200" (Should default to 9300)*
>
> Let me know what happens.
>
> On Mon, Jun 6, 2016 at 2:37 PM, Petteri Sulonen 
> <petteri.sulonen@avaintec.com <ma...@avaintec.com>> 
> wrote:
>
>     Hi, Jaskaran --
>
>     Yes, I have set elasticsearch.port to 9200. I'm appending my
>     /usr/share/tomcat7/lib/usergrid-deployment.properties file.
>
>     Thanks for your help,
>
>     /Petteri
>
>     ## BEGINS ##
>     usergrid.cluster_name=usergrid
>
>     cassandra.url=127.0.0.1:9160 <http://127.0.0.1:9160>
>     cassandra.cluster=Test Cluster
>
>     elasticsearch.cluster_name=elasticsearch
>     elasticsearch.hosts=127.0.0.1
>     elasticsearch.port=9200
>
>     ######################################################
>     # Admin and test user setup
>
>     usergrid.sysadmin.login.allowed=true
>     usergrid.sysadmin.login.name
>     <http://usergrid.sysadmin.login.name>=superuser
>     usergrid.sysadmin.login.password=test
>     usergrid.sysadmin.login.email=sy.sadmin@avaintec.com
>     <ma...@avaintec.com>
>
>     usergrid.sysadmin.email=petteri.sulonen@avaintec.com
>     <ma...@avaintec.com>
>     usergrid.sysadmin.approve.users=true
>     usergrid.sysadmin.approve.organizations=true
>
>     # Base mailer account - default for all outgoing messages
>     usergrid.management.mailer=Admin <petteri.sulonen@avaintec.com
>     <ma...@avaintec.com>>
>
>     usergrid.setup-test-account=true
>     usergrid.test-account.app=test-app
>     usergrid.test-account.organization=test-organization
>     usergrid.test-account.admin-user.username=test
>     usergrid.test-account.admin-user.name
>     <http://usergrid.test-account.admin-user.name>=Test User
>     usergrid.test-account.admin-user.email=petteri.sulonen@avaintec.com
>     <ma...@avaintec.com>
>     usergrid.test-account.admin-user.password=test
>
>     ######################################################
>     # Auto-confirm and sign-up notifications settings
>
>     usergrid.management.admin_users_require_confirmation=false
>     usergrid.management.admin_users_require_activation=false
>
>     usergrid.management.organizations_require_activation=false
>     usergrid.management.notify_sysadmin_of_new_organizations=true
>     usergrid.management.notify_sysadmin_of_new_admin_users=true
>
>     ######################################################
>     # URLs
>
>     # Redirect path when request come in for TLD
>     usergrid.redirect_root=http://192.168.0.30/status
>
>     usergrid.view.management.organizations.organization.activate=http://192.168.0.30/accounts/welcome
>     usergrid.view.management.organizations.organization.confirm=http://192.168.0.30/accounts/welcome
>
>     usergrid.view.management.users.user.activate=http://192.168.0.30/accounts/welcome
>     usergrid.view.management.users.user.confirm=http://192.168.0.30/accounts/welcome
>
>     usergrid.admin.confirmation.url=http://192.168.0.30/management/users/%s/confirm
>     usergrid.user.confirmation.url=http://192.168.0.30/%s/%s/users/%s/confirm
>     usergrid.organization.activation.url=http://192.168.0.30/management/organizations/%s/activate
>     usergrid.admin.activation.url=http://192.168.0.30/management/users/%s/activate
>     usergrid.user.activation.url=http://192.168.0.24%s/%s/users/%s/activate
>
>     usergrid.admin.resetpw.url=http://192.168.0.30/management/users/%s/resetpw
>     usergrid.user.resetpw.url=http://192.168.0.30/%s/%s/users/%s/resetpw
>     ## ENDS ##
>
>
>     On 06/06/16 10:57, Jaskaran Singh wrote:
>
>         Hi Petteri,
>         Could you post your usergrid-deployment.properties file. This
>         will help in figuring out the issue.
>         Also by any chance have you specified the elasticsearch port
>         to 9200 in your usergrid property config? Normally it should
>         connect on 9300, unless you have specified the port in your
>         config.
>         https://groups.google.com/forum/#!topic/elasticsearch/sIxoF76OuxY
>         <https://groups.google.com/forum/#%21topic/elasticsearch/sIxoF76OuxY>
>         <https://groups.google.com/forum/#%21topic/elasticsearch/sIxoF76OuxY>
>
>
>         On Mon, Jun 6, 2016 at 12:29 PM, Petteri Sulonen
>         <petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>         <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>> wrote:
>
>             Hi again --
>
>             All right, making slow progress, but I'm stuck again.
>         Attempting
>             to curl status fails after a pretty long timeout:
>
>             root@vmu-psulonen2:/var/log/tomcat7# curl
>         http://localhost:8080/status
>         {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
>             Server
>         Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
>
>
>             The catalina.out log has quite a lot of stuff in it. From the
>             relevant time:
>
>             08:51:37,823 ERROR AbstractExceptionMapper:106 - Server
>         Error (500):
>         {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
>             Server
>         Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
>             08:51:37,828  INFO UsergridSystemMonitor:103 - TimerThreshold
>             triggered on duration: 30009
>             {"path":"/status","applicationId":null}
>             ----------------
>             08:51:39,588  WARN unicast:460 - [default] failed to send
>         ping to
>             [[#zen_unicast_1#][vmu-psulonen2][inet[/127.0.0.1
>         <http://127.0.0.1>
>             <http://127.0.0.1>:9200]]]
>         org.elasticsearch.transport.ReceiveTimeoutTransportException:
>         [][inet[/127.0.0.1:9200]][internal:discovery/zen/unicast_gte_1_4]
>             request_id [267] timed out after [3751ms]
>                 at
>         org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:366)
>                 at
>         java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>                 at
>         java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>                 at java.lang.Thread.run(Thread.java:745)
>             08:51:42,076  INFO JobSchedulerService:97 - Running one check
>             iteration ...
>             08:51:42,077  INFO CassandraMQUtils:249 -
>             QueueManagerFactoryImpl.getFromQueue: /jobs/
>             08:51:42,145 ERROR AbstractSearch:272 - Error getting
>         oldest queue
>             message ID
>         me.prettyprint.hector.api.exceptions.HInvalidRequestException:
>             InvalidRequestException(why:Keyspace
>         'Usergrid_Applications' does
>             not exist)
>                 at
>         me.prettyprint.cassandra.connection.client.HThriftClient.getCassandra(HThriftClient.java:112)
>                 at
>         me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:251)
>                 at
>         me.prettyprint.cassandra.service.KeyspaceServiceImpl.operateWithFailover(KeyspaceServiceImpl.java:132)
>                 at
>         me.prettyprint.cassandra.service.KeyspaceServiceImpl.getSlice(KeyspaceServiceImpl.java:290)
>                 at
>         me.prettyprint.cassandra.service.VirtualKeyspaceServiceImpl.getSlice(VirtualKeyspaceServiceImpl.java:133)
>
>             I figure the "Keyspace 'Usergrid_Applications' does not exist"
>             errors are because the database isn't initialised. However
>             curl'ing the DB init URL from the config doc results in a
>         similar
>             error as my status call above. Additionally, there are those
>             failed pings to elasticsearch; I did telnet to 127.0.0.1
>         9200 and
>             the port does connect.
>
>             There's more stuff in the log from the startup but I'm not
>         sure
>             how relevant it is.
>
>             Your help is again much appreciated,
>
>             Petteri
>
>             On 03/06/16 15:35, Dave wrote:
>
>                 The root cause of the problem appears to be this:
>
>         me.prettyprint.hector.api.exceptions.HectorException: All host
>                 pools marked down.
>
>                 That exception means that Hector (one of the Cassandra
>         clients
>                 we use) cannot contact Cassandra. Usually this means
>         that you
>                 have the wrong value in one of the Cassandra-related
>                 configuration properties (hostname or port is wrong),
>                 Cassandra is not running or some network issue is
>         preventing
>                 connection to Cassandra.
>
>                 By default we have this:
>                    cassandra.url=localhost:9160
>
>                 Usergrid will connect to Cassandra and expects Thrift
>         protocol
>                 on port 9160.  I wonder: do you have to explicitly enable
>                 Thrift on that port in Cassandra 3.x?
>
>                 Dave
>
>
>
>                 On Fri, Jun 3, 2016 at 8:49 AM Petteri Sulonen
>                 <petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>                 <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>
>                 <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>                 <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>>> wrote:
>
>                     Hi, folks --
>
>                     I'm evaluating Usergrid as a candidate for our cloud
>                 service backend,
>                     and am attempting to set up a simple, single-node,
>                 single-server
>                     installation of it, but can't get it to respond;
>         http://localhost:8080/status comes back with a blank 404.
>
>                     I'm following the instructions here:
>         https://usergrid.apache.org/docs/installation/deployment-guide.html.
>
>                     OS: Ubuntu 16.04 (server)
>
>                     Java version: 1.8.0_91 (Oracle)
>
>                     Cassandra:
>
>                     $ cqlsh
>
>                     Connected to Test Cluster at 127.0.0.1:9042
>         <http://127.0.0.1:9042>
>                 <http://127.0.0.1:9042> <http://127.0.0.1:9042>.
>                     [cqlsh 5.0.1 | Cassandra 3.0.6 | CQL spec 3.4.0 |
>         Native
>                 protocol v4]
>                     Use HELP for help.
>
>                     Elasticsearch:
>
>                     $ curl http://localhost:9200
>                     {
>                        "name" : "Devos the Devastator",
>                        "cluster_name" : "elasticsearch",
>                        "version" : {
>                          "number" : "2.3.3",
>                          "build_hash" :
>                 "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
>                          "build_timestamp" : "2016-05-17T15:40:04Z",
>                          "build_snapshot" : false,
>                          "lucene_version" : "5.5.0"
>                        },
>                        "tagline" : "You Know, for Search"
>                     }
>
>                     ROOT.war is in /var/lib/tomcat7/webapps.
>
>                     When I start Tomcat7, I get the following in
>                     /var/log/tomcat7/catalina.out:
>
>                     14:22:50,304  INFO AbstractLockManager:70 -
>                 HLockManagerConfigurator
>                     [keyspaceName=Locks, lockManagerCF=HLocks,
>                 rowsCacheEnabled=true,
>                     locksTTLInMillis=2000, backOffRetryDelayInMillis=100,
>                 replicationFac
>                     tor=1, numberOfLockObserverThreads=1,
>         maxSelectSize=10]
>                     14:22:50,339  WARN XmlWebApplicationContext:486 -
>         Exception
>                     encountered
>                     during context initialization - cancelling refresh
>         attempt
>         org.springframework.beans.factory.BeanCreationException: Error
>                     creating
>                     bean with name 'shiroFilter' defined in class path
>         resource
>                     [usergrid-rest-context.xml]: BeanPostProcessor before
>                 instantiation of
>                     bean failed; nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>                     creating
>                     bean with name
>         'org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor#0
>                     ' defined in class path resource
>                 [usergrid-rest-context.xml]: Cannot
>                     resolve reference to bean 'securityManager' while
>         setting bean
>                     property
>                     'securityManager'; nested exception is
>         org.springframework.bea
>                     ns.factory.BeanCreationException: Error creating
>         bean with
>                 name
>                     'securityManager' defined in class path resource
>                     [usergrid-rest-context.xml]: Cannot resolve
>         reference to
>                 bean 'realm'
>                     while setting bean p
>                     roperty 'realm'; nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>                     creating
>                     bean with name 'realm': Injection of autowired
>                 dependencies failed;
>                     nested exception is org.sp
>         ringframework.beans.factory.BeanCreationException: Could not
>                 autowire
>                     method: public void
>         org.apache.usergrid.security.shiro.Realm.setEntityManagerFactory(org.apache.usergrid.persistence.EntityManagerFac
>                     tory); nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>                     creating
>                     bean with name 'entityManagerFactory' defined in class
>                 path resource
>                     [usergrid-core-context.xml]: Cannot
>                       resolve reference to bean 'cassandraService'
>         while setting
>                     constructor
>                     argument; nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>                     creating
>                     bean with name 'cassandraServ
>                     ice' defined in class path resource
>                 [usergrid-core-context.xml]:
>                     Cannot
>                     resolve reference to bean 'lockManager' while setting
>                 constructor
>                     argument; nested exception is
>                 org.springframework.beans.factory.B
>                     eanCreationException: Error creating bean with name
>                 'lockManager':
>                     Invocation of init method failed; nested exception is
>         me.prettyprint.hector.api.exceptions.HectorException: All host
>                 pools
>                     marked down.
>                     Retry burden pushed out to client.
>                     Related cause:
>         org.springframework.beans.factory.BeanCurrentlyInCreationException:
>                     Error creating bean with name 'shiroFilter':
>         Requested bean is
>                     currently
>                     in creation: Is there an unresolvable circular
>                     reference?
>
>                     I'm kind of stuck and would appreciate any help.
>
>                     With best regards,
>
>                     Petteri Sulonen
>
>
>
>
>
>
>



Re: Startup fails with BeanCreationException for shiroFilter

Posted by Petteri Sulonen <pe...@avaintec.com>.
Hi, Jaskaran --

I downgraded Elasticsearch from 2.3.3 to 1.7.5 and now I get a valid 
status response from Usergrid.

It might be helpful to add a note to the deploy instructions that 
Usergrid 2.1 is not compatible with Elasticsearch 2.x; as it is it just 
says version 1.4+.

Thanks for your help so far -- I may need more of it later though!

/Petteri

On 06/06/16 11:31, Jaskaran Singh wrote:
>
> I would suggest the following change, it is also consistent with the 
> latest usergrid 2.x documentation:
> http://usergrid.apache.org/docs/installation/deployment-guide.html#example-usergrid-stack-properties-file
>
> *Remove the line "elasticsearch.port=9200" (Should default to 9300)*
>
> Let me know what happens.
>
> On Mon, Jun 6, 2016 at 2:37 PM, Petteri Sulonen 
> <petteri.sulonen@avaintec.com <ma...@avaintec.com>> 
> wrote:
>
>     Hi, Jaskaran --
>
>     Yes, I have set elasticsearch.port to 9200. I'm appending my
>     /usr/share/tomcat7/lib/usergrid-deployment.properties file.
>
>     Thanks for your help,
>
>     /Petteri
>
>     ## BEGINS ##
>     usergrid.cluster_name=usergrid
>
>     cassandra.url=127.0.0.1:9160 <http://127.0.0.1:9160>
>     cassandra.cluster=Test Cluster
>
>     elasticsearch.cluster_name=elasticsearch
>     elasticsearch.hosts=127.0.0.1
>     elasticsearch.port=9200
>
>     ######################################################
>     # Admin and test user setup
>
>     usergrid.sysadmin.login.allowed=true
>     usergrid.sysadmin.login.name
>     <http://usergrid.sysadmin.login.name>=superuser
>     usergrid.sysadmin.login.password=test
>     usergrid.sysadmin.login.email=sy.sadmin@avaintec.com
>     <ma...@avaintec.com>
>
>     usergrid.sysadmin.email=petteri.sulonen@avaintec.com
>     <ma...@avaintec.com>
>     usergrid.sysadmin.approve.users=true
>     usergrid.sysadmin.approve.organizations=true
>
>     # Base mailer account - default for all outgoing messages
>     usergrid.management.mailer=Admin <petteri.sulonen@avaintec.com
>     <ma...@avaintec.com>>
>
>     usergrid.setup-test-account=true
>     usergrid.test-account.app=test-app
>     usergrid.test-account.organization=test-organization
>     usergrid.test-account.admin-user.username=test
>     usergrid.test-account.admin-user.name
>     <http://usergrid.test-account.admin-user.name>=Test User
>     usergrid.test-account.admin-user.email=petteri.sulonen@avaintec.com
>     <ma...@avaintec.com>
>     usergrid.test-account.admin-user.password=test
>
>     ######################################################
>     # Auto-confirm and sign-up notifications settings
>
>     usergrid.management.admin_users_require_confirmation=false
>     usergrid.management.admin_users_require_activation=false
>
>     usergrid.management.organizations_require_activation=false
>     usergrid.management.notify_sysadmin_of_new_organizations=true
>     usergrid.management.notify_sysadmin_of_new_admin_users=true
>
>     ######################################################
>     # URLs
>
>     # Redirect path when request come in for TLD
>     usergrid.redirect_root=http://192.168.0.30/status
>
>     usergrid.view.management.organizations.organization.activate=http://192.168.0.30/accounts/welcome
>     usergrid.view.management.organizations.organization.confirm=http://192.168.0.30/accounts/welcome
>
>     usergrid.view.management.users.user.activate=http://192.168.0.30/accounts/welcome
>     usergrid.view.management.users.user.confirm=http://192.168.0.30/accounts/welcome
>
>     usergrid.admin.confirmation.url=http://192.168.0.30/management/users/%s/confirm
>     usergrid.user.confirmation.url=http://192.168.0.30/%s/%s/users/%s/confirm
>     usergrid.organization.activation.url=http://192.168.0.30/management/organizations/%s/activate
>     usergrid.admin.activation.url=http://192.168.0.30/management/users/%s/activate
>     usergrid.user.activation.url=http://192.168.0.24%s/%s/users/%s/activate
>
>     usergrid.admin.resetpw.url=http://192.168.0.30/management/users/%s/resetpw
>     usergrid.user.resetpw.url=http://192.168.0.30/%s/%s/users/%s/resetpw
>     ## ENDS ##
>
>
>     On 06/06/16 10:57, Jaskaran Singh wrote:
>
>         Hi Petteri,
>         Could you post your usergrid-deployment.properties file. This
>         will help in figuring out the issue.
>         Also by any chance have you specified the elasticsearch port
>         to 9200 in your usergrid property config? Normally it should
>         connect on 9300, unless you have specified the port in your
>         config.
>         https://groups.google.com/forum/#!topic/elasticsearch/sIxoF76OuxY
>         <https://groups.google.com/forum/#%21topic/elasticsearch/sIxoF76OuxY>
>         <https://groups.google.com/forum/#%21topic/elasticsearch/sIxoF76OuxY>
>
>
>         On Mon, Jun 6, 2016 at 12:29 PM, Petteri Sulonen
>         <petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>         <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>> wrote:
>
>             Hi again --
>
>             All right, making slow progress, but I'm stuck again.
>         Attempting
>             to curl status fails after a pretty long timeout:
>
>             root@vmu-psulonen2:/var/log/tomcat7# curl
>         http://localhost:8080/status
>         {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
>             Server
>         Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
>
>
>             The catalina.out log has quite a lot of stuff in it. From the
>             relevant time:
>
>             08:51:37,823 ERROR AbstractExceptionMapper:106 - Server
>         Error (500):
>         {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
>             Server
>         Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
>             08:51:37,828  INFO UsergridSystemMonitor:103 - TimerThreshold
>             triggered on duration: 30009
>             {"path":"/status","applicationId":null}
>             ----------------
>             08:51:39,588  WARN unicast:460 - [default] failed to send
>         ping to
>             [[#zen_unicast_1#][vmu-psulonen2][inet[/127.0.0.1
>         <http://127.0.0.1>
>             <http://127.0.0.1>:9200]]]
>         org.elasticsearch.transport.ReceiveTimeoutTransportException:
>         [][inet[/127.0.0.1:9200]][internal:discovery/zen/unicast_gte_1_4]
>             request_id [267] timed out after [3751ms]
>                 at
>         org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:366)
>                 at
>         java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>                 at
>         java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>                 at java.lang.Thread.run(Thread.java:745)
>             08:51:42,076  INFO JobSchedulerService:97 - Running one check
>             iteration ...
>             08:51:42,077  INFO CassandraMQUtils:249 -
>             QueueManagerFactoryImpl.getFromQueue: /jobs/
>             08:51:42,145 ERROR AbstractSearch:272 - Error getting
>         oldest queue
>             message ID
>         me.prettyprint.hector.api.exceptions.HInvalidRequestException:
>             InvalidRequestException(why:Keyspace
>         'Usergrid_Applications' does
>             not exist)
>                 at
>         me.prettyprint.cassandra.connection.client.HThriftClient.getCassandra(HThriftClient.java:112)
>                 at
>         me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:251)
>                 at
>         me.prettyprint.cassandra.service.KeyspaceServiceImpl.operateWithFailover(KeyspaceServiceImpl.java:132)
>                 at
>         me.prettyprint.cassandra.service.KeyspaceServiceImpl.getSlice(KeyspaceServiceImpl.java:290)
>                 at
>         me.prettyprint.cassandra.service.VirtualKeyspaceServiceImpl.getSlice(VirtualKeyspaceServiceImpl.java:133)
>
>             I figure the "Keyspace 'Usergrid_Applications' does not exist"
>             errors are because the database isn't initialised. However
>             curl'ing the DB init URL from the config doc results in a
>         similar
>             error as my status call above. Additionally, there are those
>             failed pings to elasticsearch; I did telnet to 127.0.0.1
>         9200 and
>             the port does connect.
>
>             There's more stuff in the log from the startup but I'm not
>         sure
>             how relevant it is.
>
>             Your help is again much appreciated,
>
>             Petteri
>
>             On 03/06/16 15:35, Dave wrote:
>
>                 The root cause of the problem appears to be this:
>
>         me.prettyprint.hector.api.exceptions.HectorException: All host
>                 pools marked down.
>
>                 That exception means that Hector (one of the Cassandra
>         clients
>                 we use) cannot contact Cassandra. Usually this means
>         that you
>                 have the wrong value in one of the Cassandra-related
>                 configuration properties (hostname or port is wrong),
>                 Cassandra is not running or some network issue is
>         preventing
>                 connection to Cassandra.
>
>                 By default we have this:
>                    cassandra.url=localhost:9160
>
>                 Usergrid will connect to Cassandra and expects Thrift
>         protocol
>                 on port 9160.  I wonder: do you have to explicitly enable
>                 Thrift on that port in Cassandra 3.x?
>
>                 Dave
>
>
>
>                 On Fri, Jun 3, 2016 at 8:49 AM Petteri Sulonen
>                 <petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>                 <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>
>                 <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>                 <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>>> wrote:
>
>                     Hi, folks --
>
>                     I'm evaluating Usergrid as a candidate for our cloud
>                 service backend,
>                     and am attempting to set up a simple, single-node,
>                 single-server
>                     installation of it, but can't get it to respond;
>         http://localhost:8080/status comes back with a blank 404.
>
>                     I'm following the instructions here:
>         https://usergrid.apache.org/docs/installation/deployment-guide.html.
>
>                     OS: Ubuntu 16.04 (server)
>
>                     Java version: 1.8.0_91 (Oracle)
>
>                     Cassandra:
>
>                     $ cqlsh
>
>                     Connected to Test Cluster at 127.0.0.1:9042
>         <http://127.0.0.1:9042>
>                 <http://127.0.0.1:9042> <http://127.0.0.1:9042>.
>                     [cqlsh 5.0.1 | Cassandra 3.0.6 | CQL spec 3.4.0 |
>         Native
>                 protocol v4]
>                     Use HELP for help.
>
>                     Elasticsearch:
>
>                     $ curl http://localhost:9200
>                     {
>                        "name" : "Devos the Devastator",
>                        "cluster_name" : "elasticsearch",
>                        "version" : {
>                          "number" : "2.3.3",
>                          "build_hash" :
>                 "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
>                          "build_timestamp" : "2016-05-17T15:40:04Z",
>                          "build_snapshot" : false,
>                          "lucene_version" : "5.5.0"
>                        },
>                        "tagline" : "You Know, for Search"
>                     }
>
>                     ROOT.war is in /var/lib/tomcat7/webapps.
>
>                     When I start Tomcat7, I get the following in
>                     /var/log/tomcat7/catalina.out:
>
>                     14:22:50,304  INFO AbstractLockManager:70 -
>                 HLockManagerConfigurator
>                     [keyspaceName=Locks, lockManagerCF=HLocks,
>                 rowsCacheEnabled=true,
>                     locksTTLInMillis=2000, backOffRetryDelayInMillis=100,
>                 replicationFac
>                     tor=1, numberOfLockObserverThreads=1,
>         maxSelectSize=10]
>                     14:22:50,339  WARN XmlWebApplicationContext:486 -
>         Exception
>                     encountered
>                     during context initialization - cancelling refresh
>         attempt
>         org.springframework.beans.factory.BeanCreationException: Error
>                     creating
>                     bean with name 'shiroFilter' defined in class path
>         resource
>                     [usergrid-rest-context.xml]: BeanPostProcessor before
>                 instantiation of
>                     bean failed; nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>                     creating
>                     bean with name
>         'org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor#0
>                     ' defined in class path resource
>                 [usergrid-rest-context.xml]: Cannot
>                     resolve reference to bean 'securityManager' while
>         setting bean
>                     property
>                     'securityManager'; nested exception is
>         org.springframework.bea
>                     ns.factory.BeanCreationException: Error creating
>         bean with
>                 name
>                     'securityManager' defined in class path resource
>                     [usergrid-rest-context.xml]: Cannot resolve
>         reference to
>                 bean 'realm'
>                     while setting bean p
>                     roperty 'realm'; nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>                     creating
>                     bean with name 'realm': Injection of autowired
>                 dependencies failed;
>                     nested exception is org.sp
>         ringframework.beans.factory.BeanCreationException: Could not
>                 autowire
>                     method: public void
>         org.apache.usergrid.security.shiro.Realm.setEntityManagerFactory(org.apache.usergrid.persistence.EntityManagerFac
>                     tory); nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>                     creating
>                     bean with name 'entityManagerFactory' defined in class
>                 path resource
>                     [usergrid-core-context.xml]: Cannot
>                       resolve reference to bean 'cassandraService'
>         while setting
>                     constructor
>                     argument; nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>                     creating
>                     bean with name 'cassandraServ
>                     ice' defined in class path resource
>                 [usergrid-core-context.xml]:
>                     Cannot
>                     resolve reference to bean 'lockManager' while setting
>                 constructor
>                     argument; nested exception is
>                 org.springframework.beans.factory.B
>                     eanCreationException: Error creating bean with name
>                 'lockManager':
>                     Invocation of init method failed; nested exception is
>         me.prettyprint.hector.api.exceptions.HectorException: All host
>                 pools
>                     marked down.
>                     Retry burden pushed out to client.
>                     Related cause:
>         org.springframework.beans.factory.BeanCurrentlyInCreationException:
>                     Error creating bean with name 'shiroFilter':
>         Requested bean is
>                     currently
>                     in creation: Is there an unresolvable circular
>                     reference?
>
>                     I'm kind of stuck and would appreciate any help.
>
>                     With best regards,
>
>                     Petteri Sulonen
>
>
>
>
>
>
>



Re: Startup fails with BeanCreationException for shiroFilter

Posted by Jaskaran Singh <ja...@comprotechnologies.com>.
I would suggest the following change, it is also consistent with the latest
usergrid 2.x documentation:
http://usergrid.apache.org/docs/installation/deployment-guide.html#example-usergrid-stack-properties-file

*Remove the line "elasticsearch.port=9200" (Should default to 9300)*

Let me know what happens.

On Mon, Jun 6, 2016 at 2:37 PM, Petteri Sulonen <
petteri.sulonen@avaintec.com> wrote:

> Hi, Jaskaran --
>
> Yes, I have set elasticsearch.port to 9200. I'm appending my
> /usr/share/tomcat7/lib/usergrid-deployment.properties file.
>
> Thanks for your help,
>
> /Petteri
>
> ## BEGINS ##
> usergrid.cluster_name=usergrid
>
> cassandra.url=127.0.0.1:9160
> cassandra.cluster=Test Cluster
>
> elasticsearch.cluster_name=elasticsearch
> elasticsearch.hosts=127.0.0.1
> elasticsearch.port=9200
>
> ######################################################
> # Admin and test user setup
>
> usergrid.sysadmin.login.allowed=true
> usergrid.sysadmin.login.name=superuser
> usergrid.sysadmin.login.password=test
> usergrid.sysadmin.login.email=sy.sadmin@avaintec.com
>
> usergrid.sysadmin.email=petteri.sulonen@avaintec.com
> usergrid.sysadmin.approve.users=true
> usergrid.sysadmin.approve.organizations=true
>
> # Base mailer account - default for all outgoing messages
> usergrid.management.mailer=Admin <pe...@avaintec.com>
>
> usergrid.setup-test-account=true
> usergrid.test-account.app=test-app
> usergrid.test-account.organization=test-organization
> usergrid.test-account.admin-user.username=test
> usergrid.test-account.admin-user.name=Test User
> usergrid.test-account.admin-user.email=petteri.sulonen@avaintec.com
> usergrid.test-account.admin-user.password=test
>
> ######################################################
> # Auto-confirm and sign-up notifications settings
>
> usergrid.management.admin_users_require_confirmation=false
> usergrid.management.admin_users_require_activation=false
>
> usergrid.management.organizations_require_activation=false
> usergrid.management.notify_sysadmin_of_new_organizations=true
> usergrid.management.notify_sysadmin_of_new_admin_users=true
>
> ######################################################
> # URLs
>
> # Redirect path when request come in for TLD
> usergrid.redirect_root=http://192.168.0.30/status
>
> usergrid.view.management.organizations.organization.activate=
> http://192.168.0.30/accounts/welcome
> usergrid.view.management.organizations.organization.confirm=
> http://192.168.0.30/accounts/welcome
>
> usergrid.view.management.users.user.activate=
> http://192.168.0.30/accounts/welcome
> usergrid.view.management.users.user.confirm=
> http://192.168.0.30/accounts/welcome
>
> usergrid.admin.confirmation.url=
> http://192.168.0.30/management/users/%s/confirm
> usergrid.user.confirmation.url=http://192.168.0.30/%s/%s/users/%s/confirm
> usergrid.organization.activation.url=
> http://192.168.0.30/management/organizations/%s/activate
> usergrid.admin.activation.url=
> http://192.168.0.30/management/users/%s/activate
> usergrid.user.activation.url=http://192.168.0.24%s/%s/users/%s/activate
>
> usergrid.admin.resetpw.url=http://192.168.0.30/management/users/%s/resetpw
> usergrid.user.resetpw.url=http://192.168.0.30/%s/%s/users/%s/resetpw
> ## ENDS ##
>
>
> On 06/06/16 10:57, Jaskaran Singh wrote:
>
>> Hi Petteri,
>> Could you post your usergrid-deployment.properties file. This will help
>> in figuring out the issue.
>> Also by any chance have you specified the elasticsearch port to 9200 in
>> your usergrid property config? Normally it should connect on 9300, unless
>> you have specified the port in your config.
>> https://groups.google.com/forum/#!topic/elasticsearch/sIxoF76OuxY <
>> https://groups.google.com/forum/#%21topic/elasticsearch/sIxoF76OuxY>
>>
>>
>> On Mon, Jun 6, 2016 at 12:29 PM, Petteri Sulonen <
>> petteri.sulonen@avaintec.com <ma...@avaintec.com>>
>> wrote:
>>
>>     Hi again --
>>
>>     All right, making slow progress, but I'm stuck again. Attempting
>>     to curl status fails after a pretty long timeout:
>>
>>     root@vmu-psulonen2:/var/log/tomcat7# curl
>> http://localhost:8080/status
>>
>> {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
>>     Server
>>
>> Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
>>
>>
>>     The catalina.out log has quite a lot of stuff in it. From the
>>     relevant time:
>>
>>     08:51:37,823 ERROR AbstractExceptionMapper:106 - Server Error (500):
>>
>> {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
>>     Server
>>
>> Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
>>     08:51:37,828  INFO UsergridSystemMonitor:103 - TimerThreshold
>>     triggered on duration: 30009
>>     {"path":"/status","applicationId":null}
>>     ----------------
>>     08:51:39,588  WARN unicast:460 - [default] failed to send ping to
>>     [[#zen_unicast_1#][vmu-psulonen2][inet[/127.0.0.1
>>     <http://127.0.0.1>:9200]]]
>>     org.elasticsearch.transport.ReceiveTimeoutTransportException:
>>     [][inet[/127.0.0.1:9200]][internal:discovery/zen/unicast_gte_1_4]
>>     request_id [267] timed out after [3751ms]
>>         at
>>
>> org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:366)
>>         at
>>
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>>         at
>>
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>>         at java.lang.Thread.run(Thread.java:745)
>>     08:51:42,076  INFO JobSchedulerService:97 - Running one check
>>     iteration ...
>>     08:51:42,077  INFO CassandraMQUtils:249 -
>>     QueueManagerFactoryImpl.getFromQueue: /jobs/
>>     08:51:42,145 ERROR AbstractSearch:272 - Error getting oldest queue
>>     message ID
>>     me.prettyprint.hector.api.exceptions.HInvalidRequestException:
>>     InvalidRequestException(why:Keyspace 'Usergrid_Applications' does
>>     not exist)
>>         at
>>
>> me.prettyprint.cassandra.connection.client.HThriftClient.getCassandra(HThriftClient.java:112)
>>         at
>>
>> me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:251)
>>         at
>>
>> me.prettyprint.cassandra.service.KeyspaceServiceImpl.operateWithFailover(KeyspaceServiceImpl.java:132)
>>         at
>>
>> me.prettyprint.cassandra.service.KeyspaceServiceImpl.getSlice(KeyspaceServiceImpl.java:290)
>>         at
>>
>> me.prettyprint.cassandra.service.VirtualKeyspaceServiceImpl.getSlice(VirtualKeyspaceServiceImpl.java:133)
>>
>>     I figure the "Keyspace 'Usergrid_Applications' does not exist"
>>     errors are because the database isn't initialised. However
>>     curl'ing the DB init URL from the config doc results in a similar
>>     error as my status call above. Additionally, there are those
>>     failed pings to elasticsearch; I did telnet to 127.0.0.1 9200 and
>>     the port does connect.
>>
>>     There's more stuff in the log from the startup but I'm not sure
>>     how relevant it is.
>>
>>     Your help is again much appreciated,
>>
>>     Petteri
>>
>>     On 03/06/16 15:35, Dave wrote:
>>
>>         The root cause of the problem appears to be this:
>>
>>         me.prettyprint.hector.api.exceptions.HectorException: All host
>>         pools marked down.
>>
>>         That exception means that Hector (one of the Cassandra clients
>>         we use) cannot contact Cassandra. Usually this means that you
>>         have the wrong value in one of the Cassandra-related
>>         configuration properties (hostname or port is wrong),
>>         Cassandra is not running or some network issue is preventing
>>         connection to Cassandra.
>>
>>         By default we have this:
>>            cassandra.url=localhost:9160
>>
>>         Usergrid will connect to Cassandra and expects Thrift protocol
>>         on port 9160.  I wonder: do you have to explicitly enable
>>         Thrift on that port in Cassandra 3.x?
>>
>>         Dave
>>
>>
>>
>>         On Fri, Jun 3, 2016 at 8:49 AM Petteri Sulonen
>>         <petteri.sulonen@avaintec.com
>>         <ma...@avaintec.com>
>>         <mailto:petteri.sulonen@avaintec.com
>>         <ma...@avaintec.com>>> wrote:
>>
>>             Hi, folks --
>>
>>             I'm evaluating Usergrid as a candidate for our cloud
>>         service backend,
>>             and am attempting to set up a simple, single-node,
>>         single-server
>>             installation of it, but can't get it to respond;
>>         http://localhost:8080/status comes back with a blank 404.
>>
>>             I'm following the instructions here:
>>
>> https://usergrid.apache.org/docs/installation/deployment-guide.html.
>>
>>             OS: Ubuntu 16.04 (server)
>>
>>             Java version: 1.8.0_91 (Oracle)
>>
>>             Cassandra:
>>
>>             $ cqlsh
>>
>>             Connected to Test Cluster at 127.0.0.1:9042
>>         <http://127.0.0.1:9042> <http://127.0.0.1:9042>.
>>             [cqlsh 5.0.1 | Cassandra 3.0.6 | CQL spec 3.4.0 | Native
>>         protocol v4]
>>             Use HELP for help.
>>
>>             Elasticsearch:
>>
>>             $ curl http://localhost:9200
>>             {
>>                "name" : "Devos the Devastator",
>>                "cluster_name" : "elasticsearch",
>>                "version" : {
>>                  "number" : "2.3.3",
>>                  "build_hash" :
>>         "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
>>                  "build_timestamp" : "2016-05-17T15:40:04Z",
>>                  "build_snapshot" : false,
>>                  "lucene_version" : "5.5.0"
>>                },
>>                "tagline" : "You Know, for Search"
>>             }
>>
>>             ROOT.war is in /var/lib/tomcat7/webapps.
>>
>>             When I start Tomcat7, I get the following in
>>             /var/log/tomcat7/catalina.out:
>>
>>             14:22:50,304  INFO AbstractLockManager:70 -
>>         HLockManagerConfigurator
>>             [keyspaceName=Locks, lockManagerCF=HLocks,
>>         rowsCacheEnabled=true,
>>             locksTTLInMillis=2000, backOffRetryDelayInMillis=100,
>>         replicationFac
>>             tor=1, numberOfLockObserverThreads=1, maxSelectSize=10]
>>             14:22:50,339  WARN XmlWebApplicationContext:486 - Exception
>>             encountered
>>             during context initialization - cancelling refresh attempt
>>         org.springframework.beans.factory.BeanCreationException: Error
>>             creating
>>             bean with name 'shiroFilter' defined in class path resource
>>             [usergrid-rest-context.xml]: BeanPostProcessor before
>>         instantiation of
>>             bean failed; nested exception is
>>         org.springframework.beans.factory.BeanCreationException: Error
>>             creating
>>             bean with name
>>
>> 'org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor#0
>>             ' defined in class path resource
>>         [usergrid-rest-context.xml]: Cannot
>>             resolve reference to bean 'securityManager' while setting bean
>>             property
>>             'securityManager'; nested exception is org.springframework.bea
>>             ns.factory.BeanCreationException: Error creating bean with
>>         name
>>             'securityManager' defined in class path resource
>>             [usergrid-rest-context.xml]: Cannot resolve reference to
>>         bean 'realm'
>>             while setting bean p
>>             roperty 'realm'; nested exception is
>>         org.springframework.beans.factory.BeanCreationException: Error
>>             creating
>>             bean with name 'realm': Injection of autowired
>>         dependencies failed;
>>             nested exception is org.sp
>>         ringframework.beans.factory.BeanCreationException: Could not
>>         autowire
>>             method: public void
>>
>> org.apache.usergrid.security.shiro.Realm.setEntityManagerFactory(org.apache.usergrid.persistence.EntityManagerFac
>>             tory); nested exception is
>>         org.springframework.beans.factory.BeanCreationException: Error
>>             creating
>>             bean with name 'entityManagerFactory' defined in class
>>         path resource
>>             [usergrid-core-context.xml]: Cannot
>>               resolve reference to bean 'cassandraService' while setting
>>             constructor
>>             argument; nested exception is
>>         org.springframework.beans.factory.BeanCreationException: Error
>>             creating
>>             bean with name 'cassandraServ
>>             ice' defined in class path resource
>>         [usergrid-core-context.xml]:
>>             Cannot
>>             resolve reference to bean 'lockManager' while setting
>>         constructor
>>             argument; nested exception is
>>         org.springframework.beans.factory.B
>>             eanCreationException: Error creating bean with name
>>         'lockManager':
>>             Invocation of init method failed; nested exception is
>>         me.prettyprint.hector.api.exceptions.HectorException: All host
>>         pools
>>             marked down.
>>             Retry burden pushed out to client.
>>             Related cause:
>>
>> org.springframework.beans.factory.BeanCurrentlyInCreationException:
>>             Error creating bean with name 'shiroFilter': Requested bean is
>>             currently
>>             in creation: Is there an unresolvable circular
>>             reference?
>>
>>             I'm kind of stuck and would appreciate any help.
>>
>>             With best regards,
>>
>>             Petteri Sulonen
>>
>>
>>
>>
>>
>
>

Re: Startup fails with BeanCreationException for shiroFilter

Posted by Petteri Sulonen <pe...@avaintec.com>.
Hi, Jaskaran --

Yes, I have set elasticsearch.port to 9200. I'm appending my 
/usr/share/tomcat7/lib/usergrid-deployment.properties file.

Thanks for your help,

/Petteri

## BEGINS ##
usergrid.cluster_name=usergrid

cassandra.url=127.0.0.1:9160
cassandra.cluster=Test Cluster

elasticsearch.cluster_name=elasticsearch
elasticsearch.hosts=127.0.0.1
elasticsearch.port=9200

######################################################
# Admin and test user setup

usergrid.sysadmin.login.allowed=true
usergrid.sysadmin.login.name=superuser
usergrid.sysadmin.login.password=test
usergrid.sysadmin.login.email=sy.sadmin@avaintec.com

usergrid.sysadmin.email=petteri.sulonen@avaintec.com
usergrid.sysadmin.approve.users=true
usergrid.sysadmin.approve.organizations=true

# Base mailer account - default for all outgoing messages
usergrid.management.mailer=Admin <pe...@avaintec.com>

usergrid.setup-test-account=true
usergrid.test-account.app=test-app
usergrid.test-account.organization=test-organization
usergrid.test-account.admin-user.username=test
usergrid.test-account.admin-user.name=Test User
usergrid.test-account.admin-user.email=petteri.sulonen@avaintec.com
usergrid.test-account.admin-user.password=test

######################################################
# Auto-confirm and sign-up notifications settings

usergrid.management.admin_users_require_confirmation=false
usergrid.management.admin_users_require_activation=false

usergrid.management.organizations_require_activation=false
usergrid.management.notify_sysadmin_of_new_organizations=true
usergrid.management.notify_sysadmin_of_new_admin_users=true

######################################################
# URLs

# Redirect path when request come in for TLD
usergrid.redirect_root=http://192.168.0.30/status

usergrid.view.management.organizations.organization.activate=http://192.168.0.30/accounts/welcome
usergrid.view.management.organizations.organization.confirm=http://192.168.0.30/accounts/welcome

usergrid.view.management.users.user.activate=http://192.168.0.30/accounts/welcome
usergrid.view.management.users.user.confirm=http://192.168.0.30/accounts/welcome

usergrid.admin.confirmation.url=http://192.168.0.30/management/users/%s/confirm
usergrid.user.confirmation.url=http://192.168.0.30/%s/%s/users/%s/confirm
usergrid.organization.activation.url=http://192.168.0.30/management/organizations/%s/activate
usergrid.admin.activation.url=http://192.168.0.30/management/users/%s/activate
usergrid.user.activation.url=http://192.168.0.24%s/%s/users/%s/activate

usergrid.admin.resetpw.url=http://192.168.0.30/management/users/%s/resetpw
usergrid.user.resetpw.url=http://192.168.0.30/%s/%s/users/%s/resetpw
## ENDS ##


On 06/06/16 10:57, Jaskaran Singh wrote:
> Hi Petteri,
> Could you post your usergrid-deployment.properties file. This will 
> help in figuring out the issue.
> Also by any chance have you specified the elasticsearch port to 9200 
> in your usergrid property config? Normally it should connect on 9300, 
> unless you have specified the port in your config.
> https://groups.google.com/forum/#!topic/elasticsearch/sIxoF76OuxY 
> <https://groups.google.com/forum/#%21topic/elasticsearch/sIxoF76OuxY>
>
>
> On Mon, Jun 6, 2016 at 12:29 PM, Petteri Sulonen 
> <petteri.sulonen@avaintec.com <ma...@avaintec.com>> 
> wrote:
>
>     Hi again --
>
>     All right, making slow progress, but I'm stuck again. Attempting
>     to curl status fails after a pretty long timeout:
>
>     root@vmu-psulonen2:/var/log/tomcat7# curl http://localhost:8080/status
>     {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
>     Server
>     Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
>
>
>     The catalina.out log has quite a lot of stuff in it. From the
>     relevant time:
>
>     08:51:37,823 ERROR AbstractExceptionMapper:106 - Server Error (500):
>     {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
>     Server
>     Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
>     08:51:37,828  INFO UsergridSystemMonitor:103 - TimerThreshold
>     triggered on duration: 30009
>     {"path":"/status","applicationId":null}
>     ----------------
>     08:51:39,588  WARN unicast:460 - [default] failed to send ping to
>     [[#zen_unicast_1#][vmu-psulonen2][inet[/127.0.0.1
>     <http://127.0.0.1>:9200]]]
>     org.elasticsearch.transport.ReceiveTimeoutTransportException:
>     [][inet[/127.0.0.1:9200]][internal:discovery/zen/unicast_gte_1_4]
>     request_id [267] timed out after [3751ms]
>         at
>     org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:366)
>         at
>     java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at
>     java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at java.lang.Thread.run(Thread.java:745)
>     08:51:42,076  INFO JobSchedulerService:97 - Running one check
>     iteration ...
>     08:51:42,077  INFO CassandraMQUtils:249 -
>     QueueManagerFactoryImpl.getFromQueue: /jobs/
>     08:51:42,145 ERROR AbstractSearch:272 - Error getting oldest queue
>     message ID
>     me.prettyprint.hector.api.exceptions.HInvalidRequestException:
>     InvalidRequestException(why:Keyspace 'Usergrid_Applications' does
>     not exist)
>         at
>     me.prettyprint.cassandra.connection.client.HThriftClient.getCassandra(HThriftClient.java:112)
>         at
>     me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:251)
>         at
>     me.prettyprint.cassandra.service.KeyspaceServiceImpl.operateWithFailover(KeyspaceServiceImpl.java:132)
>         at
>     me.prettyprint.cassandra.service.KeyspaceServiceImpl.getSlice(KeyspaceServiceImpl.java:290)
>         at
>     me.prettyprint.cassandra.service.VirtualKeyspaceServiceImpl.getSlice(VirtualKeyspaceServiceImpl.java:133)
>
>     I figure the "Keyspace 'Usergrid_Applications' does not exist"
>     errors are because the database isn't initialised. However
>     curl'ing the DB init URL from the config doc results in a similar
>     error as my status call above. Additionally, there are those
>     failed pings to elasticsearch; I did telnet to 127.0.0.1 9200 and
>     the port does connect.
>
>     There's more stuff in the log from the startup but I'm not sure
>     how relevant it is.
>
>     Your help is again much appreciated,
>
>     Petteri
>
>     On 03/06/16 15:35, Dave wrote:
>
>         The root cause of the problem appears to be this:
>
>         me.prettyprint.hector.api.exceptions.HectorException: All host
>         pools marked down.
>
>         That exception means that Hector (one of the Cassandra clients
>         we use) cannot contact Cassandra. Usually this means that you
>         have the wrong value in one of the Cassandra-related
>         configuration properties (hostname or port is wrong),
>         Cassandra is not running or some network issue is preventing
>         connection to Cassandra.
>
>         By default we have this:
>            cassandra.url=localhost:9160
>
>         Usergrid will connect to Cassandra and expects Thrift protocol
>         on port 9160.  I wonder: do you have to explicitly enable
>         Thrift on that port in Cassandra 3.x?
>
>         Dave
>
>
>
>         On Fri, Jun 3, 2016 at 8:49 AM Petteri Sulonen
>         <petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>
>         <mailto:petteri.sulonen@avaintec.com
>         <ma...@avaintec.com>>> wrote:
>
>             Hi, folks --
>
>             I'm evaluating Usergrid as a candidate for our cloud
>         service backend,
>             and am attempting to set up a simple, single-node,
>         single-server
>             installation of it, but can't get it to respond;
>         http://localhost:8080/status comes back with a blank 404.
>
>             I'm following the instructions here:
>         https://usergrid.apache.org/docs/installation/deployment-guide.html.
>
>             OS: Ubuntu 16.04 (server)
>
>             Java version: 1.8.0_91 (Oracle)
>
>             Cassandra:
>
>             $ cqlsh
>
>             Connected to Test Cluster at 127.0.0.1:9042
>         <http://127.0.0.1:9042> <http://127.0.0.1:9042>.
>             [cqlsh 5.0.1 | Cassandra 3.0.6 | CQL spec 3.4.0 | Native
>         protocol v4]
>             Use HELP for help.
>
>             Elasticsearch:
>
>             $ curl http://localhost:9200
>             {
>                "name" : "Devos the Devastator",
>                "cluster_name" : "elasticsearch",
>                "version" : {
>                  "number" : "2.3.3",
>                  "build_hash" :
>         "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
>                  "build_timestamp" : "2016-05-17T15:40:04Z",
>                  "build_snapshot" : false,
>                  "lucene_version" : "5.5.0"
>                },
>                "tagline" : "You Know, for Search"
>             }
>
>             ROOT.war is in /var/lib/tomcat7/webapps.
>
>             When I start Tomcat7, I get the following in
>             /var/log/tomcat7/catalina.out:
>
>             14:22:50,304  INFO AbstractLockManager:70 -
>         HLockManagerConfigurator
>             [keyspaceName=Locks, lockManagerCF=HLocks,
>         rowsCacheEnabled=true,
>             locksTTLInMillis=2000, backOffRetryDelayInMillis=100,
>         replicationFac
>             tor=1, numberOfLockObserverThreads=1, maxSelectSize=10]
>             14:22:50,339  WARN XmlWebApplicationContext:486 - Exception
>             encountered
>             during context initialization - cancelling refresh attempt
>         org.springframework.beans.factory.BeanCreationException: Error
>             creating
>             bean with name 'shiroFilter' defined in class path resource
>             [usergrid-rest-context.xml]: BeanPostProcessor before
>         instantiation of
>             bean failed; nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>             creating
>             bean with name
>         'org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor#0
>             ' defined in class path resource
>         [usergrid-rest-context.xml]: Cannot
>             resolve reference to bean 'securityManager' while setting bean
>             property
>             'securityManager'; nested exception is org.springframework.bea
>             ns.factory.BeanCreationException: Error creating bean with
>         name
>             'securityManager' defined in class path resource
>             [usergrid-rest-context.xml]: Cannot resolve reference to
>         bean 'realm'
>             while setting bean p
>             roperty 'realm'; nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>             creating
>             bean with name 'realm': Injection of autowired
>         dependencies failed;
>             nested exception is org.sp
>         ringframework.beans.factory.BeanCreationException: Could not
>         autowire
>             method: public void
>         org.apache.usergrid.security.shiro.Realm.setEntityManagerFactory(org.apache.usergrid.persistence.EntityManagerFac
>             tory); nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>             creating
>             bean with name 'entityManagerFactory' defined in class
>         path resource
>             [usergrid-core-context.xml]: Cannot
>               resolve reference to bean 'cassandraService' while setting
>             constructor
>             argument; nested exception is
>         org.springframework.beans.factory.BeanCreationException: Error
>             creating
>             bean with name 'cassandraServ
>             ice' defined in class path resource
>         [usergrid-core-context.xml]:
>             Cannot
>             resolve reference to bean 'lockManager' while setting
>         constructor
>             argument; nested exception is
>         org.springframework.beans.factory.B
>             eanCreationException: Error creating bean with name
>         'lockManager':
>             Invocation of init method failed; nested exception is
>         me.prettyprint.hector.api.exceptions.HectorException: All host
>         pools
>             marked down.
>             Retry burden pushed out to client.
>             Related cause:
>         org.springframework.beans.factory.BeanCurrentlyInCreationException:
>             Error creating bean with name 'shiroFilter': Requested bean is
>             currently
>             in creation: Is there an unresolvable circular
>             reference?
>
>             I'm kind of stuck and would appreciate any help.
>
>             With best regards,
>
>             Petteri Sulonen
>
>
>
>



Re: Startup fails with BeanCreationException for shiroFilter

Posted by Jaskaran Singh <ja...@comprotechnologies.com>.
Hi Petteri,
Could you post your usergrid-deployment.properties file. This will help in
figuring out the issue.
Also by any chance have you specified the elasticsearch port to 9200 in
your usergrid property config? Normally it should connect on 9300, unless
you have specified the port in your config.
https://groups.google.com/forum/#!topic/elasticsearch/sIxoF76OuxY


On Mon, Jun 6, 2016 at 12:29 PM, Petteri Sulonen <
petteri.sulonen@avaintec.com> wrote:

> Hi again --
>
> All right, making slow progress, but I'm stuck again. Attempting to curl
> status fails after a pretty long timeout:
>
> root@vmu-psulonen2:/var/log/tomcat7# curl http://localhost:8080/status
> {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
> Server
> Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
>
>
> The catalina.out log has quite a lot of stuff in it. From the relevant
> time:
>
> 08:51:37,823 ERROR AbstractExceptionMapper:106 - Server Error (500):
> {"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal
> Server
> Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
> 08:51:37,828  INFO UsergridSystemMonitor:103 - TimerThreshold triggered on
> duration: 30009
> {"path":"/status","applicationId":null}
> ----------------
> 08:51:39,588  WARN unicast:460 - [default] failed to send ping to
> [[#zen_unicast_1#][vmu-psulonen2][inet[/127.0.0.1:9200]]]
> org.elasticsearch.transport.ReceiveTimeoutTransportException:
> [][inet[/127.0.0.1:9200]][internal:discovery/zen/unicast_gte_1_4]
> request_id [267] timed out after [3751ms]
>     at
> org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:366)
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>     at java.lang.Thread.run(Thread.java:745)
> 08:51:42,076  INFO JobSchedulerService:97 - Running one check iteration ...
> 08:51:42,077  INFO CassandraMQUtils:249 -
> QueueManagerFactoryImpl.getFromQueue: /jobs/
> 08:51:42,145 ERROR AbstractSearch:272 - Error getting oldest queue message
> ID
> me.prettyprint.hector.api.exceptions.HInvalidRequestException:
> InvalidRequestException(why:Keyspace 'Usergrid_Applications' does not exist)
>     at
> me.prettyprint.cassandra.connection.client.HThriftClient.getCassandra(HThriftClient.java:112)
>     at
> me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:251)
>     at
> me.prettyprint.cassandra.service.KeyspaceServiceImpl.operateWithFailover(KeyspaceServiceImpl.java:132)
>     at
> me.prettyprint.cassandra.service.KeyspaceServiceImpl.getSlice(KeyspaceServiceImpl.java:290)
>     at
> me.prettyprint.cassandra.service.VirtualKeyspaceServiceImpl.getSlice(VirtualKeyspaceServiceImpl.java:133)
>
> I figure the "Keyspace 'Usergrid_Applications' does not exist" errors are
> because the database isn't initialised. However curl'ing the DB init URL
> from the config doc results in a similar error as my status call above.
> Additionally, there are those failed pings to elasticsearch; I did telnet
> to 127.0.0.1 9200 and the port does connect.
>
> There's more stuff in the log from the startup but I'm not sure how
> relevant it is.
>
> Your help is again much appreciated,
>
> Petteri
>
> On 03/06/16 15:35, Dave wrote:
>
>> The root cause of the problem appears to be this:
>>
>>   me.prettyprint.hector.api.exceptions.HectorException: All host pools
>> marked down.
>>
>> That exception means that Hector (one of the Cassandra clients we use)
>> cannot contact Cassandra. Usually this means that you have the wrong value
>> in one of the Cassandra-related configuration properties (hostname or port
>> is wrong), Cassandra is not running or some network issue is preventing
>> connection to Cassandra.
>>
>> By default we have this:
>>    cassandra.url=localhost:9160
>>
>> Usergrid will connect to Cassandra and expects Thrift protocol on port
>> 9160.  I wonder: do you have to explicitly enable Thrift on that port in
>> Cassandra 3.x?
>>
>> Dave
>>
>>
>>
>> On Fri, Jun 3, 2016 at 8:49 AM Petteri Sulonen <
>> petteri.sulonen@avaintec.com <ma...@avaintec.com>>
>> wrote:
>>
>>     Hi, folks --
>>
>>     I'm evaluating Usergrid as a candidate for our cloud service backend,
>>     and am attempting to set up a simple, single-node, single-server
>>     installation of it, but can't get it to respond;
>>     http://localhost:8080/status comes back with a blank 404.
>>
>>     I'm following the instructions here:
>>     https://usergrid.apache.org/docs/installation/deployment-guide.html.
>>
>>     OS: Ubuntu 16.04 (server)
>>
>>     Java version: 1.8.0_91 (Oracle)
>>
>>     Cassandra:
>>
>>     $ cqlsh
>>
>>     Connected to Test Cluster at 127.0.0.1:9042 <http://127.0.0.1:9042>.
>>     [cqlsh 5.0.1 | Cassandra 3.0.6 | CQL spec 3.4.0 | Native protocol v4]
>>     Use HELP for help.
>>
>>     Elasticsearch:
>>
>>     $ curl http://localhost:9200
>>     {
>>        "name" : "Devos the Devastator",
>>        "cluster_name" : "elasticsearch",
>>        "version" : {
>>          "number" : "2.3.3",
>>          "build_hash" : "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
>>          "build_timestamp" : "2016-05-17T15:40:04Z",
>>          "build_snapshot" : false,
>>          "lucene_version" : "5.5.0"
>>        },
>>        "tagline" : "You Know, for Search"
>>     }
>>
>>     ROOT.war is in /var/lib/tomcat7/webapps.
>>
>>     When I start Tomcat7, I get the following in
>>     /var/log/tomcat7/catalina.out:
>>
>>     14:22:50,304  INFO AbstractLockManager:70 - HLockManagerConfigurator
>>     [keyspaceName=Locks, lockManagerCF=HLocks, rowsCacheEnabled=true,
>>     locksTTLInMillis=2000, backOffRetryDelayInMillis=100, replicationFac
>>     tor=1, numberOfLockObserverThreads=1, maxSelectSize=10]
>>     14:22:50,339  WARN XmlWebApplicationContext:486 - Exception
>>     encountered
>>     during context initialization - cancelling refresh attempt
>>     org.springframework.beans.factory.BeanCreationException: Error
>>     creating
>>     bean with name 'shiroFilter' defined in class path resource
>>     [usergrid-rest-context.xml]: BeanPostProcessor before instantiation of
>>     bean failed; nested exception is
>>     org.springframework.beans.factory.BeanCreationException: Error
>>     creating
>>     bean with name
>>
>> 'org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor#0
>>     ' defined in class path resource [usergrid-rest-context.xml]: Cannot
>>     resolve reference to bean 'securityManager' while setting bean
>>     property
>>     'securityManager'; nested exception is org.springframework.bea
>>     ns.factory.BeanCreationException: Error creating bean with name
>>     'securityManager' defined in class path resource
>>     [usergrid-rest-context.xml]: Cannot resolve reference to bean 'realm'
>>     while setting bean p
>>     roperty 'realm'; nested exception is
>>     org.springframework.beans.factory.BeanCreationException: Error
>>     creating
>>     bean with name 'realm': Injection of autowired dependencies failed;
>>     nested exception is org.sp
>>     ringframework.beans.factory.BeanCreationException: Could not autowire
>>     method: public void
>>
>> org.apache.usergrid.security.shiro.Realm.setEntityManagerFactory(org.apache.usergrid.persistence.EntityManagerFac
>>     tory); nested exception is
>>     org.springframework.beans.factory.BeanCreationException: Error
>>     creating
>>     bean with name 'entityManagerFactory' defined in class path resource
>>     [usergrid-core-context.xml]: Cannot
>>       resolve reference to bean 'cassandraService' while setting
>>     constructor
>>     argument; nested exception is
>>     org.springframework.beans.factory.BeanCreationException: Error
>>     creating
>>     bean with name 'cassandraServ
>>     ice' defined in class path resource [usergrid-core-context.xml]:
>>     Cannot
>>     resolve reference to bean 'lockManager' while setting constructor
>>     argument; nested exception is org.springframework.beans.factory.B
>>     eanCreationException: Error creating bean with name 'lockManager':
>>     Invocation of init method failed; nested exception is
>>     me.prettyprint.hector.api.exceptions.HectorException: All host pools
>>     marked down.
>>     Retry burden pushed out to client.
>>     Related cause:
>>     org.springframework.beans.factory.BeanCurrentlyInCreationException:
>>     Error creating bean with name 'shiroFilter': Requested bean is
>>     currently
>>     in creation: Is there an unresolvable circular
>>     reference?
>>
>>     I'm kind of stuck and would appreciate any help.
>>
>>     With best regards,
>>
>>     Petteri Sulonen
>>
>>
>
>

Re: Startup fails with BeanCreationException for shiroFilter

Posted by Petteri Sulonen <pe...@avaintec.com>.
Hi again --

All right, making slow progress, but I'm stuck again. Attempting to curl 
status fails after a pretty long timeout:

root@vmu-psulonen2:/var/log/tomcat7# curl http://localhost:8080/status
{"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal 
Server 
Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"} 


The catalina.out log has quite a lot of stuff in it. From the relevant time:

08:51:37,823 ERROR AbstractExceptionMapper:106 - Server Error (500):
{"error":"uncaught","timestamp":1465195897823,"duration":0,"error_description":"Internal 
Server 
Error","exception":"org.apache.usergrid.rest.exceptions.UncaughtException","error_id":"1daa4fe9-2bb3-11e6-9b84-08002798df4e"}
08:51:37,828  INFO UsergridSystemMonitor:103 - TimerThreshold triggered 
on duration: 30009
{"path":"/status","applicationId":null}
----------------
08:51:39,588  WARN unicast:460 - [default] failed to send ping to 
[[#zen_unicast_1#][vmu-psulonen2][inet[/127.0.0.1:9200]]]
org.elasticsearch.transport.ReceiveTimeoutTransportException: 
[][inet[/127.0.0.1:9200]][internal:discovery/zen/unicast_gte_1_4] 
request_id [267] timed out after [3751ms]
     at 
org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:366)
     at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
     at java.lang.Thread.run(Thread.java:745)
08:51:42,076  INFO JobSchedulerService:97 - Running one check iteration ...
08:51:42,077  INFO CassandraMQUtils:249 - 
QueueManagerFactoryImpl.getFromQueue: /jobs/
08:51:42,145 ERROR AbstractSearch:272 - Error getting oldest queue 
message ID
me.prettyprint.hector.api.exceptions.HInvalidRequestException: 
InvalidRequestException(why:Keyspace 'Usergrid_Applications' does not exist)
     at 
me.prettyprint.cassandra.connection.client.HThriftClient.getCassandra(HThriftClient.java:112)
     at 
me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:251)
     at 
me.prettyprint.cassandra.service.KeyspaceServiceImpl.operateWithFailover(KeyspaceServiceImpl.java:132)
     at 
me.prettyprint.cassandra.service.KeyspaceServiceImpl.getSlice(KeyspaceServiceImpl.java:290)
     at 
me.prettyprint.cassandra.service.VirtualKeyspaceServiceImpl.getSlice(VirtualKeyspaceServiceImpl.java:133)

I figure the "Keyspace 'Usergrid_Applications' does not exist" errors 
are because the database isn't initialised. However curl'ing the DB init 
URL from the config doc results in a similar error as my status call 
above. Additionally, there are those failed pings to elasticsearch; I 
did telnet to 127.0.0.1 9200 and the port does connect.

There's more stuff in the log from the startup but I'm not sure how 
relevant it is.

Your help is again much appreciated,

Petteri

On 03/06/16 15:35, Dave wrote:
> The root cause of the problem appears to be this:
>
>   me.prettyprint.hector.api.exceptions.HectorException: All host 
> pools marked down.
>
> That exception means that Hector (one of the Cassandra clients we use) 
> cannot contact Cassandra. Usually this means that you have the wrong 
> value in one of the Cassandra-related configuration properties 
> (hostname or port is wrong), Cassandra is not running or some network 
> issue is preventing connection to Cassandra.
>
> By default we have this:
>    cassandra.url=localhost:9160
>
> Usergrid will connect to Cassandra and expects Thrift protocol on port 
> 9160.  I wonder: do you have to explicitly enable Thrift on that port 
> in Cassandra 3.x?
>
> Dave
>
>
>
> On Fri, Jun 3, 2016 at 8:49 AM Petteri Sulonen 
> <petteri.sulonen@avaintec.com <ma...@avaintec.com>> 
> wrote:
>
>     Hi, folks --
>
>     I'm evaluating Usergrid as a candidate for our cloud service backend,
>     and am attempting to set up a simple, single-node, single-server
>     installation of it, but can't get it to respond;
>     http://localhost:8080/status comes back with a blank 404.
>
>     I'm following the instructions here:
>     https://usergrid.apache.org/docs/installation/deployment-guide.html.
>
>     OS: Ubuntu 16.04 (server)
>
>     Java version: 1.8.0_91 (Oracle)
>
>     Cassandra:
>
>     $ cqlsh
>
>     Connected to Test Cluster at 127.0.0.1:9042 <http://127.0.0.1:9042>.
>     [cqlsh 5.0.1 | Cassandra 3.0.6 | CQL spec 3.4.0 | Native protocol v4]
>     Use HELP for help.
>
>     Elasticsearch:
>
>     $ curl http://localhost:9200
>     {
>        "name" : "Devos the Devastator",
>        "cluster_name" : "elasticsearch",
>        "version" : {
>          "number" : "2.3.3",
>          "build_hash" : "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
>          "build_timestamp" : "2016-05-17T15:40:04Z",
>          "build_snapshot" : false,
>          "lucene_version" : "5.5.0"
>        },
>        "tagline" : "You Know, for Search"
>     }
>
>     ROOT.war is in /var/lib/tomcat7/webapps.
>
>     When I start Tomcat7, I get the following in
>     /var/log/tomcat7/catalina.out:
>
>     14:22:50,304  INFO AbstractLockManager:70 - HLockManagerConfigurator
>     [keyspaceName=Locks, lockManagerCF=HLocks, rowsCacheEnabled=true,
>     locksTTLInMillis=2000, backOffRetryDelayInMillis=100, replicationFac
>     tor=1, numberOfLockObserverThreads=1, maxSelectSize=10]
>     14:22:50,339  WARN XmlWebApplicationContext:486 - Exception
>     encountered
>     during context initialization - cancelling refresh attempt
>     org.springframework.beans.factory.BeanCreationException: Error
>     creating
>     bean with name 'shiroFilter' defined in class path resource
>     [usergrid-rest-context.xml]: BeanPostProcessor before instantiation of
>     bean failed; nested exception is
>     org.springframework.beans.factory.BeanCreationException: Error
>     creating
>     bean with name
>     'org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor#0
>     ' defined in class path resource [usergrid-rest-context.xml]: Cannot
>     resolve reference to bean 'securityManager' while setting bean
>     property
>     'securityManager'; nested exception is org.springframework.bea
>     ns.factory.BeanCreationException: Error creating bean with name
>     'securityManager' defined in class path resource
>     [usergrid-rest-context.xml]: Cannot resolve reference to bean 'realm'
>     while setting bean p
>     roperty 'realm'; nested exception is
>     org.springframework.beans.factory.BeanCreationException: Error
>     creating
>     bean with name 'realm': Injection of autowired dependencies failed;
>     nested exception is org.sp
>     ringframework.beans.factory.BeanCreationException: Could not autowire
>     method: public void
>     org.apache.usergrid.security.shiro.Realm.setEntityManagerFactory(org.apache.usergrid.persistence.EntityManagerFac
>     tory); nested exception is
>     org.springframework.beans.factory.BeanCreationException: Error
>     creating
>     bean with name 'entityManagerFactory' defined in class path resource
>     [usergrid-core-context.xml]: Cannot
>       resolve reference to bean 'cassandraService' while setting
>     constructor
>     argument; nested exception is
>     org.springframework.beans.factory.BeanCreationException: Error
>     creating
>     bean with name 'cassandraServ
>     ice' defined in class path resource [usergrid-core-context.xml]:
>     Cannot
>     resolve reference to bean 'lockManager' while setting constructor
>     argument; nested exception is org.springframework.beans.factory.B
>     eanCreationException: Error creating bean with name 'lockManager':
>     Invocation of init method failed; nested exception is
>     me.prettyprint.hector.api.exceptions.HectorException: All host pools
>     marked down.
>     Retry burden pushed out to client.
>     Related cause:
>     org.springframework.beans.factory.BeanCurrentlyInCreationException:
>     Error creating bean with name 'shiroFilter': Requested bean is
>     currently
>     in creation: Is there an unresolvable circular
>     reference?
>
>     I'm kind of stuck and would appreciate any help.
>
>     With best regards,
>
>     Petteri Sulonen
>



Re: Startup fails with BeanCreationException for shiroFilter

Posted by Dave <sn...@gmail.com>.
The root cause of the problem appears to be this:

  me.prettyprint.hector.api.exceptions.HectorException: All host
pools marked down.

That exception means that Hector (one of the Cassandra clients we use)
cannot contact Cassandra. Usually this means that you have the wrong value
in one of the Cassandra-related configuration properties (hostname or port
is wrong), Cassandra is not running or some network issue is preventing
connection to Cassandra.

By default we have this:
   cassandra.url=localhost:9160

Usergrid will connect to Cassandra and expects Thrift protocol on port
9160.  I wonder: do you have to explicitly enable Thrift on that port in
Cassandra 3.x?

Dave



On Fri, Jun 3, 2016 at 8:49 AM Petteri Sulonen <pe...@avaintec.com>
wrote:

> Hi, folks --
>
> I'm evaluating Usergrid as a candidate for our cloud service backend,
> and am attempting to set up a simple, single-node, single-server
> installation of it, but can't get it to respond;
> http://localhost:8080/status comes back with a blank 404.
>
> I'm following the instructions here:
> https://usergrid.apache.org/docs/installation/deployment-guide.html.
>
> OS: Ubuntu 16.04 (server)
>
> Java version: 1.8.0_91 (Oracle)
>
> Cassandra:
>
> $ cqlsh
>
> Connected to Test Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 3.0.6 | CQL spec 3.4.0 | Native protocol v4]
> Use HELP for help.
>
> Elasticsearch:
>
> $ curl http://localhost:9200
> {
>    "name" : "Devos the Devastator",
>    "cluster_name" : "elasticsearch",
>    "version" : {
>      "number" : "2.3.3",
>      "build_hash" : "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
>      "build_timestamp" : "2016-05-17T15:40:04Z",
>      "build_snapshot" : false,
>      "lucene_version" : "5.5.0"
>    },
>    "tagline" : "You Know, for Search"
> }
>
> ROOT.war is in /var/lib/tomcat7/webapps.
>
> When I start Tomcat7, I get the following in /var/log/tomcat7/catalina.out:
>
> 14:22:50,304  INFO AbstractLockManager:70 - HLockManagerConfigurator
> [keyspaceName=Locks, lockManagerCF=HLocks, rowsCacheEnabled=true,
> locksTTLInMillis=2000, backOffRetryDelayInMillis=100, replicationFac
> tor=1, numberOfLockObserverThreads=1, maxSelectSize=10]
> 14:22:50,339  WARN XmlWebApplicationContext:486 - Exception encountered
> during context initialization - cancelling refresh attempt
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'shiroFilter' defined in class path resource
> [usergrid-rest-context.xml]: BeanPostProcessor before instantiation of
> bean failed; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name
>
> 'org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor#0
> ' defined in class path resource [usergrid-rest-context.xml]: Cannot
> resolve reference to bean 'securityManager' while setting bean property
> 'securityManager'; nested exception is org.springframework.bea
> ns.factory.BeanCreationException: Error creating bean with name
> 'securityManager' defined in class path resource
> [usergrid-rest-context.xml]: Cannot resolve reference to bean 'realm'
> while setting bean p
> roperty 'realm'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'realm': Injection of autowired dependencies failed;
> nested exception is org.sp
> ringframework.beans.factory.BeanCreationException: Could not autowire
> method: public void
>
> org.apache.usergrid.security.shiro.Realm.setEntityManagerFactory(org.apache.usergrid.persistence.EntityManagerFac
> tory); nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'entityManagerFactory' defined in class path resource
> [usergrid-core-context.xml]: Cannot
>   resolve reference to bean 'cassandraService' while setting constructor
> argument; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'cassandraServ
> ice' defined in class path resource [usergrid-core-context.xml]: Cannot
> resolve reference to bean 'lockManager' while setting constructor
> argument; nested exception is org.springframework.beans.factory.B
> eanCreationException: Error creating bean with name 'lockManager':
> Invocation of init method failed; nested exception is
> me.prettyprint.hector.api.exceptions.HectorException: All host pools
> marked down.
> Retry burden pushed out to client.
> Related cause:
> org.springframework.beans.factory.BeanCurrentlyInCreationException:
> Error creating bean with name 'shiroFilter': Requested bean is currently
> in creation: Is there an unresolvable circular
> reference?
>
> I'm kind of stuck and would appreciate any help.
>
> With best regards,
>
> Petteri Sulonen
>
>