Mohamed-Tayeb Benterki created UNOMI-257:
--------------------------------------------

             Summary: Index issue with salesforce connector extension
                 Key: UNOMI-257
                 URL: https://issues.apache.org/jira/browse/UNOMI-257
             Project: Apache Unomi
          Issue Type: Bug
            Reporter: Mohamed-Tayeb Benterki


Given Elasticsearch 7.4.2 is up and running with no data

And I configure a new Apache Unomi to talk with Elasticsearch

And I have put the salesforce connector kar file in the deploy folder

When I start Apache Unomi

Then it should successfully create all the indexes in Elasticsearch

But I'm getting errors related to salesforce connector

Logs:
{code:java}
2019-11-26T18:04:26,075 | ERROR | features-3-thread-1 | 
ElasticSearchPersistenceServiceImpl | 184 - 
org.apache.unomi.persistence-elasticsearch-core - 1.5.0.SNAPSHOT | Error while 
executing in class loader
 java.lang.Exception: Error loading 
itemType=org.apache.unomi.sfdc.services.SFDCConfiguration 
itemId=sfdcConfiguration
 at 
org.apache.unomi.persistence.elasticsearch.ElasticSearchPersistenceServiceImpl$4.execute(ElasticSearchPersistenceServiceImpl.java:597)
 ~[?:?]
 at 
org.apache.unomi.persistence.elasticsearch.ElasticSearchPersistenceServiceImpl$4.execute(ElasticSearchPersistenceServiceImpl.java:559)
 ~[?:?]
 at 
org.apache.unomi.persistence.elasticsearch.ElasticSearchPersistenceServiceImpl$InClassLoaderExecute.executeInClassLoader(ElasticSearchPersistenceServiceImpl.java:1802)
 ~[?:?]
 at 
org.apache.unomi.persistence.elasticsearch.ElasticSearchPersistenceServiceImpl$InClassLoaderExecute.catchingExecuteInClassLoader(ElasticSearchPersistenceServiceImpl.java:1813)
 ~[?:?]
 at 
org.apache.unomi.persistence.elasticsearch.ElasticSearchPersistenceServiceImpl.load(ElasticSearchPersistenceServiceImpl.java:600)
 ~[?:?]
 at 
org.apache.unomi.persistence.elasticsearch.ElasticSearchPersistenceServiceImpl.load(ElasticSearchPersistenceServiceImpl.java:554)
 ~[?:?]
 at Proxy86431ff9_d924_4350_95f0_da704cc32b69.load(Unknown Source) ~[?:?]
 at 
org.apache.unomi.sfdc.services.internal.SFDCServiceImpl.loadConfiguration(SFDCServiceImpl.java:103)
 ~[?:?]
 at 
org.apache.unomi.sfdc.services.internal.SFDCServiceImpl.start(SFDCServiceImpl.java:136)
 ~[?:?]
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_231]
 at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[?:1.8.0_231]
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_231]
 at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_231]
 at 
org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:337)
 ~[?:?]
 at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:835) 
~[?:?]
 at 
org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:591)
 ~[?:?]
 at 
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:703)
 ~[?:?]
 at 
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:666)
 ~[?:?]
 at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) 
~[?:?]
 at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_231]
 at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) 
~[?:?]
 at 
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:360)
 ~[?:?]
 at 
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:190)
 ~[?:?]
 at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:737)
 ~[?:?]
 at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:433)
 ~[?:?]
 at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:298)
 ~[?:?]
 at 
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:311)
 ~[?:?]
 at 
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:280)
 ~[?:?]
 at 
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)
 ~[?:?]
 at 
org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:266)
 ~[?:?]
 at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
 ~[?:?]
 at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
 ~[?:?]
 at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
 ~[?:?]
 at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
 ~[?:?]
 at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
 ~[?:?]
 at 
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)
 ~[?:?]
 at 
org.apache.felix.framework.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:730)
 ~[?:?]
 at 
org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:485)
 ~[?:?]
 at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4579) ~[?:?]
 at org.apache.felix.framework.Felix.startBundle(Felix.java:2174) ~[?:?]
 at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998) ~[?:?]
 at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984) ~[?:?]
 at 
org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:165)
 ~[?:?]
 at 
org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1153)
 ~[?:?]
 at 
org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1036) 
~[?:?]
 at 
org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062)
 ~[?:?]
 at 
org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998)
 ~[?:?]
 at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_231]
 at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[?:1.8.0_231]
 at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[?:1.8.0_231]
 at java.lang.Thread.run(Thread.java:748) [?:1.8.0_231]
 Caused by: org.elasticsearch.ElasticsearchStatusException: Elasticsearch 
exception [type=index_not_found_exception, reason=no such index 
[context-sfdcconfiguration]]{code}
 

Suggestion:

This could be solved by adding a mapping file for the sfdcconfiguration type in 
the META-INF/cxs/mappings directory of the connector service. 

Here's how it was done for the Geonames plugin: 

[https://github.com/apache/unomi/blob/39e6070f72ba9aca8343aad6744fdcaaa094c015/extensions/geonames/services/src/main/resources/META-INF/cxs/mappings/geonameEntry.json]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to