Hi Prabath,

I have created a public JIRA [1] and add pull request URL to that. Please
review and merge it.

[1] https://wso2.org/jira/browse/SS-442

Cheers!

On Wed, Oct 29, 2014 at 5:01 PM, Indika Sampath <[email protected]> wrote:

> Hi Prabath,
>
> Found the root cause with the help of SameeraJ. Below exceptions occurred
> when calling initSystemDataSources() method because following dependencies
> not available in org.wso2.carbon.cassandra.datareader.feature. It's working
> without issue once I add these dependencies to
> org.wso2.carbon.cassandra.datareader.feature and build product-mb. Shall I
> send you a pull request with changes I made to
> org.wso2.carbon.cassandra.datareader.feature?
>
> <dependency>
>             <groupId>snappy-java.wso2</groupId>
>             <artifactId>snappy-java</artifactId>
>             <version>${snappy-java.version}</version>
>         </dependency>
>
> <dependency>
>             <groupId>metrics-core.wso2</groupId>
>             <artifactId>metrics-core</artifactId>
>         </dependency>
>
> <dependency>
>             <groupId>org.codehaus.jackson</groupId>
>             <artifactId>jackson-core-asl</artifactId>
>         </dependency>
>
>         <dependency>
>             <groupId>org.codehaus.jackson</groupId>
>             <artifactId>jackson-mapper-asl</artifactId>
>         </dependency>
>
> java.lang.NoClassDefFoundError: org/xerial/snappy/SnappyError
>     at
> com.datastax.driver.core.ProtocolOptions$Compression.<clinit>(ProtocolOptions.java:32)
>     at com.datastax.driver.core.Cluster$Builder.<init>(Cluster.java:370)
>     at com.datastax.driver.core.Cluster.builder(Cluster.java:131)
>     at
> org.wso2.carbon.cassandra.datareader.datasource.CassandraDataSourceReader.createCluster(CassandraDataSourceReader.java:135)
>     at
> org.wso2.carbon.cassandra.datareader.datasource.CassandraDataSourceReader.createDataSource(CassandraDataSourceReader.java:70)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.createDataSourceObject(DataSourceRepository.java:202)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.registerDataSource(DataSourceRepository.java:359)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.addDataSource(DataSourceRepository.java:473)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceManager.initSystemDataSource(DataSourceManager.java:185)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceManager.initSystemDataSources(DataSourceManager.java:157)
>     at
> org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent.initSystemDataSources(DataSourceServiceComponent.java:195)
>     at
> org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent.setSecretCallbackHandlerService(DataSourceServiceComponent.java:178)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at
> org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:376)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:432)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bind(ServiceComponentProp.java:218)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
>     at
> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
>     at
> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
>     at
> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
>     at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>     at
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
>     at
> org.wso2.carbon.securevault.internal.SecretManagerInitializerComponent.activate(SecretManagerInitializerComponent.java:48)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
>     at
> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
>     at
> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
>     at
> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
>     at
> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
>     at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
>     at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.ClassNotFoundException: org.xerial.snappy.SnappyError
>     at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
>     at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
>     at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
>     at
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>     ... 50 more
>
> java.lang.NoClassDefFoundError: com/yammer/metrics/core/Gauge
>     at com.datastax.driver.core.Cluster$Manager.<init>(Cluster.java:815)
>     at com.datastax.driver.core.Cluster$Manager.<init>(Cluster.java:763)
>     at com.datastax.driver.core.Cluster.<init>(Cluster.java:91)
>     at com.datastax.driver.core.Cluster$Builder.build(Cluster.java:732)
>     at
> org.wso2.carbon.cassandra.datareader.datasource.CassandraDataSourceReader.createCluster(CassandraDataSourceReader.java:158)
>     at
> org.wso2.carbon.cassandra.datareader.datasource.CassandraDataSourceReader.createDataSource(CassandraDataSourceReader.java:70)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.createDataSourceObject(DataSourceRepository.java:202)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.registerDataSource(DataSourceRepository.java:359)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.addDataSource(DataSourceRepository.java:473)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceManager.initSystemDataSource(DataSourceManager.java:185)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceManager.initSystemDataSources(DataSourceManager.java:157)
>     at
> org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent.initSystemDataSources(DataSourceServiceComponent.java:195)
>     at
> org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent.setSecretCallbackHandlerService(DataSourceServiceComponent.java:178)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at
> org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:376)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:432)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bind(ServiceComponentProp.java:218)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
>     at
> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
>     at
> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
>     at
> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
>     at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>     at
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
>     at
> org.wso2.carbon.securevault.internal.SecretManagerInitializerComponent.activate(SecretManagerInitializerComponent.java:48)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
>     at
> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
>     at
> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
>     at
> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
>     at
> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
>     at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
>     at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.ClassNotFoundException: com.yammer.metrics.core.Gauge
>     at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
>     at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
>     at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
>     at
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>     ... 51 more
>
> java.lang.NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper
>     at
> com.datastax.driver.core.TableMetadata.<clinit>(TableMetadata.java:294)
>     at
> com.datastax.driver.core.KeyspaceMetadata.build(KeyspaceMetadata.java:50)
>     at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:86)
>     at
> com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:268)
>     at
> com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:219)
>     at
> com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:167)
>     at
> com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:80)
>     at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:839)
>     at
> com.datastax.driver.core.Cluster$Manager.access$100(Cluster.java:763)
>     at com.datastax.driver.core.Cluster.<init>(Cluster.java:93)
>     at com.datastax.driver.core.Cluster$Builder.build(Cluster.java:732)
>     at
> org.wso2.carbon.cassandra.datareader.datasource.CassandraDataSourceReader.createCluster(CassandraDataSourceReader.java:158)
>     at
> org.wso2.carbon.cassandra.datareader.datasource.CassandraDataSourceReader.createDataSource(CassandraDataSourceReader.java:70)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.createDataSourceObject(DataSourceRepository.java:202)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.registerDataSource(DataSourceRepository.java:359)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.addDataSource(DataSourceRepository.java:473)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceManager.initSystemDataSource(DataSourceManager.java:185)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceManager.initSystemDataSources(DataSourceManager.java:157)
>     at
> org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent.initSystemDataSources(DataSourceServiceComponent.java:195)
>     at
> org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent.setSecretCallbackHandlerService(DataSourceServiceComponent.java:178)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at
> org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:376)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:432)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bind(ServiceComponentProp.java:218)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
>     at
> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
>     at
> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
>     at
> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
>     at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>     at
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
>     at
> org.wso2.carbon.securevault.internal.SecretManagerInitializerComponent.activate(SecretManagerInitializerComponent.java:48)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
>     at
> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
>     at
> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
>     at
> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
>     at
> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
>     at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
>     at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.ClassNotFoundException:
> org.codehaus.jackson.map.ObjectMapper
>     at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
>     at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
>     at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
>     at
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>     ... 58 more
>
> Cheers!
>
>
> On Wed, Oct 29, 2014 at 11:01 AM, Indika Sampath <[email protected]> wrote:
>
>> Hi Prabath,
>>
>> On Wed, Oct 29, 2014 at 10:29 AM, Prabath Abeysekera <[email protected]>
>> wrote:
>>
>>> Hi Indika,
>>>
>>> Please correct me if I'm wrong, the error trace posted in your mail
>>> doesn't seem to suggest that the problem reported was caused by something
>>> specific to Cassandra datasource configurations. Would you be able to
>>> explain a little further as to how you concluded it that way?
>>>
>> The above exception occurred only when enabled cassadra datasource in
>> master-datasources.xml. I have configured RDBMS datasource i.e. MySQL. But
>> it's not gave any exception like above.
>>
>>>
>>> FYI, we'd used the same configurations a few week backs while trying to
>>> fix some Cassandra related dependency issue seen in MB, but had never come
>>> across something like this. and I'm sure there hasn't been any changes in
>>> Cassandra data reader implementation since then, as well. Perhaps, it's a
>>> good idea to debug the ndatasource component and see what's gone wrong?
>>>
>> Yes. I will look into ndatasource component with the help of carbon team.
>> This worked previously. The change I did is removed cassandra server
>> feature, cassandra common feature and cassandra profile from product-mb
>> since we are no longer using embedded cassandra. Now we use cassandra
>> datareader feature only.
>>
>> Cheers!
>>
>>>
>>> Cheers,
>>> Prabath
>>>
>>> On Tue, Oct 28, 2014 at 4:03 PM, Indika Sampath <[email protected]>
>>> wrote:
>>>
>>>> Hi All,
>>>>
>>>> Cassandra server no longer embedded into WSO2 MB 3.0.0. Therefore I
>>>> have removed following features from the product as well as removed
>>>> cassandra profile too.
>>>>
>>>> org.wso2.carbon.cassandra.server
>>>> org.wso2.carbon.cassandra.common
>>>>
>>>> The only remain cassandra related feature is
>>>> org.wso2.carbon.cassandra.datareader. We use this feature to connect with
>>>> external cassandra server by enabling cassandra datasource in
>>>> master-datasources.xml. Communication happen with cassandra via
>>>> cql-driver_1.0.8.wso2v1.
>>>>
>>>> We have added following <provider> under <providers> in
>>>> master-datasources.xml
>>>>
>>>>
>>>> <provider>org.wso2.carbon.cassandra.datareader.datasource.CassandraDataSourceReader</provider>
>>>>
>>>> Here is datasource we used to connect to external cassandra server
>>>>
>>>> <datasource>
>>>>             <name>WSO2_CASSANDRA_DB</name>
>>>>             <description>The datasource used for cassandra</description>
>>>>             <jndiConfig>
>>>>                 <name>CassandraRepo</name>
>>>>             </jndiConfig>
>>>>             <definition type="CASSANDRA">
>>>>                 <configuration>
>>>>                     <async>false</async>
>>>>                     <clusterName>TestCluster</clusterName>
>>>>                     <compression>SNAPPY</compression>
>>>>                     <concurrency>100</concurrency>
>>>>                     <username>admin</username>
>>>>                     <password encrypted="true">admin</password>
>>>>                     <port>9042</port>
>>>>                     <maxConnections>100</maxConnections>
>>>>
>>>>                     <hosts>
>>>>                         <host>127.0.0.1</host>
>>>>                     </hosts>
>>>>                     <loadBalancePolicy>
>>>>                         <exclusionThreshold>2.5</exclusionThreshold>
>>>>                         <latencyAware>true</latencyAware>
>>>>                         <minMeasure>100</minMeasure>
>>>>                         <policyName>RoundRobinPolicy</policyName>
>>>>                         <retryPeriod>10</retryPeriod>
>>>>                         <scale>2</scale>
>>>>                     </loadBalancePolicy>
>>>>
>>>>                     <poolOptions>
>>>>
>>>> <coreConnectionsForLocal>10</coreConnectionsForLocal>
>>>>
>>>> <coreConnectionsForRemote>10</coreConnectionsForRemote>
>>>>
>>>> <maxConnectionsForLocal>10</maxConnectionsForLocal>
>>>>
>>>> <maxConnectionsForRemote>10</maxConnectionsForRemote>
>>>>
>>>> <maxSimultaneousRequestsForLocal>10</maxSimultaneousRequestsForLocal>
>>>>
>>>> <maxSimultaneousRequestsForRemote>10</maxSimultaneousRequestsForRemote>
>>>>
>>>> <minSimultaneousRequestsForLocal>10</minSimultaneousRequestsForLocal>
>>>>
>>>> <minSimultaneousRequestsForRemote>10</minSimultaneousRequestsForRemote>
>>>>                     </poolOptions>
>>>>
>>>>                     <reconnectPolicy>
>>>>                         <baseDelayMs>100</baseDelayMs>
>>>>
>>>> <policyName>ConstantReconnectionPolicy</policyName>
>>>>                     </reconnectPolicy>
>>>>                     <socketOptions>
>>>>                         <connectTimeoutMillis>200</connectTimeoutMillis>
>>>>                         <keepAlive>true</keepAlive>
>>>>                         <readTimeoutMillis>200</readTimeoutMillis>
>>>>                         <tcpNoDelay>true</tcpNoDelay>
>>>>                     </socketOptions>
>>>>
>>>>                 </configuration>
>>>>
>>>>             </definition>
>>>>         </datasource>
>>>>
>>>> State of org.wso2.carbon.cassandra.datareader as below.
>>>>
>>>> 136    ACTIVE      org.wso2.carbon.cassandra.datareader_4.3.0.SNAPSHOT
>>>>
>>>> I have enabled DEBUG logs of DataSourceServiceComponent and it seems
>>>> setSecretCallbackHandlerService() method called twice when bundle
>>>> activation and private void initSystemDataSources() get called inside this
>>>> setter method. It gives the below exception when second time calling
>>>> initSystemDataSources() method. Is there anything wrong in our side with
>>>> the implementation of connect to cassandra enabling datasource?
>>>>
>>>> [2014-10-28 14:50:23,521]  INFO
>>>> {org.wso2.carbon.databridge.agent.thrift.internal.AgentDS} -  Successfully
>>>> deployed Agent Client
>>>> [2014-10-28 14:50:23,586] DEBUG
>>>> {org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent} -
>>>> SecretCallbackHandlerService acquired
>>>> [2014-10-28 14:50:23,586] DEBUG
>>>> {org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent} -
>>>> Initializing system data sources...
>>>> [2014-10-28 14:50:23,778] DEBUG
>>>> {org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent} -
>>>> SecretCallbackHandlerService acquired
>>>> [2014-10-28 14:50:23,778] DEBUG
>>>> {org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent} -
>>>> Initializing system data sources...
>>>> [2014-10-28 14:50:23,793] ERROR
>>>> {org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent} -
>>>> Error in intializing system data sources: Error in initializing system data
>>>> sources: Error in initializing system data sources at
>>>> '/home/indika/dev-zone/wso2-dev/fork/product-mb/modules/distribution/target/wso2mb-3.0.0-SNAPSHOT/repository/conf/datasources/master-datasources.xml'
>>>> - System datasource WSO2_CARBON_DBcan not be updated.
>>>> org.wso2.carbon.ndatasource.common.DataSourceException: Error in
>>>> initializing system data sources: Error in initializing system data sources
>>>> at
>>>> '/home/indika/dev-zone/wso2-dev/fork/product-mb/modules/distribution/target/wso2mb-3.0.0-SNAPSHOT/repository/conf/datasources/master-datasources.xml'
>>>> - System datasource WSO2_CARBON_DBcan not be updated.
>>>>     at
>>>> org.wso2.carbon.ndatasource.core.DataSourceManager.initSystemDataSources(DataSourceManager.java:168)
>>>>     at
>>>> org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent.initSystemDataSources(DataSourceServiceComponent.java:191)
>>>>     at
>>>> org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent.setSecretCallbackHandlerService(DataSourceServiceComponent.java:177)
>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>     at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>     at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>     at
>>>> org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:376)
>>>>     at
>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:432)
>>>>     at
>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bind(ServiceComponentProp.java:218)
>>>>     at
>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
>>>>     at
>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
>>>>     at
>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
>>>>     at
>>>> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
>>>>     at
>>>> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
>>>>     at
>>>> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
>>>>     at
>>>> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
>>>>     at
>>>> org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
>>>>     at java.lang.Thread.run(Thread.java:662)
>>>> Caused by: org.wso2.carbon.ndatasource.common.DataSourceException:
>>>> Error in initializing system data sources at
>>>> '/home/indika/dev-zone/wso2-dev/fork/product-mb/modules/distribution/target/wso2mb-3.0.0-SNAPSHOT/repository/conf/datasources/master-datasources.xml'
>>>> - System datasource WSO2_CARBON_DBcan not be updated.
>>>>     at
>>>> org.wso2.carbon.ndatasource.core.DataSourceManager.initSystemDataSource(DataSourceManager.java:188)
>>>>     at
>>>> org.wso2.carbon.ndatasource.core.DataSourceManager.initSystemDataSources(DataSourceManager.java:157)
>>>>     ... 18 more
>>>> Caused by: org.wso2.carbon.ndatasource.common.DataSourceException:
>>>> System datasource WSO2_CARBON_DBcan not be updated.
>>>>     at
>>>> org.wso2.carbon.ndatasource.core.DataSourceRepository.registerDataSource(DataSourceRepository.java:344)
>>>>     at
>>>> org.wso2.carbon.ndatasource.core.DataSourceRepository.addDataSource(DataSourceRepository.java:473)
>>>>     at
>>>> org.wso2.carbon.ndatasource.core.DataSourceManager.initSystemDataSource(DataSourceManager.java:185)
>>>>     ... 19 more
>>>> [2014-10-28 14:50:23,795] DEBUG
>>>> {org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent} -
>>>> ServerConfigurationService acquired
>>>> [2014-10-28 14:50:23,795] DEBUG
>>>> {org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent} -
>>>> DataSourceServiceComponent activated
>>>> [2014-10-28 14:50:26,250] DEBUG
>>>> {org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent} -
>>>> RealmService acquired
>>>> [2014-10-28 14:50:26,327]  INFO
>>>> {org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService} -  Configured
>>>> Registry in 33ms
>>>> [2014-10-28 14:50:26,415]  INFO
>>>> {org.wso2.carbon.registry.core.internal.RegistryCoreServiceComponent} -
>>>> Registry Mode    : READ-WRITE
>>>> [2014-10-28 14:50:26,419] DEBUG
>>>> {org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent} -
>>>> RegistryService acquired
>>>> [2014-10-28 14:50:26,419] DEBUG
>>>> {org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent} -
>>>> Initializing super tenant user data sources...
>>>> [2014-10-28 14:50:26,421] DEBUG
>>>> {org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent} -
>>>> Super tenant user data sources successfully initialized
>>>> [2014-10-28 14:50:26,559]  INFO
>>>> {org.wso2.carbon.user.core.internal.UserStoreMgtDSComponent} -  Carbon
>>>> UserStoreMgtDSComponent activated successfully.
>>>>
>>>> Cheers!
>>>>
>>>> --
>>>> Indika Sampath
>>>> Software Engineer
>>>> WSO2 Inc.
>>>> http://wso2.com
>>>>
>>>> Phone: +94 716 424 744
>>>> Blog: http://indikasampath.blogspot.com/
>>>>
>>>>
>>>
>>>
>>> --
>>> Prabath Abeysekara
>>> Associate Technical Lead, Data TG.
>>> WSO2 Inc.
>>> Email: [email protected]
>>> Mobile: +94774171471
>>>
>>
>>
>>
>> --
>> Indika Sampath
>> Software Engineer
>> WSO2 Inc.
>> http://wso2.com
>>
>> Phone: +94 716 424 744
>> Blog: http://indikasampath.blogspot.com/
>>
>>
>
>
> --
> Indika Sampath
> Software Engineer
> WSO2 Inc.
> http://wso2.com
>
> Phone: +94 716 424 744
> Blog: http://indikasampath.blogspot.com/
>
>


-- 
Indika Sampath
Software Engineer
WSO2 Inc.
http://wso2.com

Phone: +94 716 424 744
Blog: http://indikasampath.blogspot.com/
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to