Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Grabbit AEM components are in 'unsatisfied' state after service restart #215

Open
lakshmin opened this issue Sep 5, 2018 · 1 comment
Open

Comments

@lakshmin
Copy link

lakshmin commented Sep 5, 2018

Hi,

After installing Grabbit and restarting the AEM6.3 instance, following components goes in to 'unsatisfied' state. Please find below the service names which are in 'unsatisfied' state. We are able to consistently reproduce the issue. Since the components are in 'unsatisfied' state, servlets are not working and not able to submit content migration job.

http://localhost:4502/system/console/components

com.twcable.grabbit.client.batch.workflows.impl.DefaultWorkFlowManager active
com.twcable.grabbit.client.services.impl.DefaultClientService unsatisfied (reference)
com.twcable.grabbit.client.servlets.GrabbitJobServlet unsatisfied (reference)
com.twcable.grabbit.client.servlets.GrabbitRootServlet active
com.twcable.grabbit.client.servlets.GrabbitTransactionServlet unsatisfied (reference) com.twcable.grabbit.resources.GrabbitResourceProvider active
com.twcable.grabbit.server.GrabbitContentPullServlet unsatisfied (reference)
com.twcable.grabbit.server.services.impl.DefaultServerService unsatisfied (reference)
com.twcable.grabbit.spring.batch.repository.services.impl.DefaultCleanJobRepository unsatisfied (reference)
com.twcable.grabbit.spring.batch.repository.servlets.GrabbitCleanJobRepositoryServlet unsatisfied (reference)

Reference configurableApplicationContext Unsatisfied
Service Name: org.springframework.context.ConfigurableApplicationContext
Cardinality: 1..1
Policy: static
Policy Option: reluctant
No Services bound

Reference clientService Unsatisfied
Service Name: com.twcable.grabbit.client.services.ClientService
Cardinality: 1..1
Policy: static
Policy Option: reluctant
No Services bound

Reference configurableApplicationContext Unsatisfied
Service Name: org.springframework.context.ConfigurableApplicationContext
Cardinality: 1..1
Policy: static
Policy Option: reluctant
No Services bound

Reference serverService Unsatisfied
Service Name: com.twcable.grabbit.server.services.ServerService
Cardinality: 1..1
Policy: static
Policy Option: reluctant
No Services bound

Reference configurableApplicationContext Unsatisfied
Service Name: org.springframework.context.ConfigurableApplicationContext
Cardinality: 1..1
Policy: static
Policy Option: reluctant
No Services bound

Reference cleanJobRepository Unsatisfied
Service Name: com.twcable.grabbit.spring.batch.repository.services.CleanJobRepository
Cardinality: 1..1
Policy: static
Policy Option: reluctant
No Services bound

What version of AEM are you running?

AEM 6.3

How do you produce the issue?

Install Grabbit, it installs fine and after restarting the AEM 6.3 isntance, above mentioned components goes in to 'unsatisfied' state. If I uninstall the Grabbit 7.5 and reinstall it work, but the issue happens again after restarting AEM6.3 service.

Does the issue occur consistently?

Yes

Any additional details?

Packages installed -
Sun-Misc-Fragment-Bundle-1.0.0.zip
Grabbit-Deserialization-Firewall-Configuration-1.0.zip
Grabbit-Apache-Sling-Login-Whitelist-1.0.zip
Grabbit-7.1.5.zip

Thanks!

@josephh
Copy link

josephh commented Sep 24, 2018

Trying out grabbit I'm seeing similar problems to @lakshmin. The grabbit packages/ bundles/ components are all Ok when installed to a 'fresh' aem instance. The problem arises when the grabbit packages are installed after our custom aem components code is already installed 😒. So presumably there is some contention with service dependencies (all bundles show as active)? Any pointers or help much appreciated!

AEM 6.3 with service pack 6.3.1

Sun-Misc-Fragment-Bundle-1.0.0.zip
Grabbit-7.1.5.zip
Grabbit-Deserialization-Firewall-Configuration-1.0.zip
Grabbit-Apache-Sling-Login-Whitelist-1.0.zip

system/console/components shows,

id name status
3166 com.twcable.grabbit.client.batch.workflows.impl.DefaultWorkFlowManager active
3167 com.twcable.grabbit.client.services.impl.DefaultClientService unsatisfied (reference)  
3168 com.twcable.grabbit.client.servlets.GrabbitJobServlet unsatisfied (reference)
3169 com.twcable.grabbit.client.servlets.GrabbitRootServlet active
3170 com.twcable.grabbit.client.servlets.GrabbitTransactionServlet unsatisfied (reference)  
3171 com.twcable.grabbit.resources.GrabbitResourceProvider active
3172 com.twcable.grabbit.server.GrabbitContentPullServlet unsatisfied (reference)
3173 com.twcable.grabbit.server.services.impl.DefaultServerService unsatisfied (reference)  
3174 com.twcable.grabbit.spring.batch.repository.services.impl.DefaultCleanJobRepository unsatisfied (reference)  
3175 com.twcable.grabbit.spring.batch.repository.servlets.GrabbitCleanJobRepositoryServlet unsatisfied (reference)

When the client tries to kick off a copy from the source to the (local) target, target (client) server logs,

24.09.2018 10:48:00.588 *INFO* [SpringOsgiExtenderThread-2] com.twcable.grabbit.spring.batch.repository.JcrJobRepositoryFactoryBean Create JobExecution
24.09.2018 10:48:00.601 *INFO* [SpringOsgiExtenderThread-2] com.twcable.grabbit.spring.batch.repository.JcrJobRepositoryFactoryBean Create StepExecution
24.09.2018 10:48:00.617 *INFO* [SpringOsgiExtenderThread-2] com.twcable.grabbit.spring.batch.repository.JcrJobRepositoryFactoryBean Create ExecutionContext
24.09.2018 10:48:00.673 *INFO* [SpringOsgiExtenderThread-2] org.springframework.batch.core.launch.support.SimpleJobLauncher No TaskExecutor has been set, defaulting to synchronous executor.
24.09.2018 10:48:00.684 *INFO* [SpringOsgiExtenderThread-2] org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor Initializing ExecutorService  'clientJobLauncherTaskExecutor'
24.09.2018 10:48:00.711 *INFO* [SpringOsgiExtenderThread-2] org.springframework.beans.factory.support.DefaultListableBeanFactory Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@6424f534: defining beans [clientJobLauncher,clientJobRegistry,clientJobOperator,clientJobExplorer,jobRegistryBeanPostProcessor,clientJobRepository,clientTransactionManager,clientJobLauncherTaskExecutor,executionContextSerializer,validJobDecider,clientNamespaceSyncTasklet,clientProtobufNodesReader,clientJcrNodesWriter,deleteBeforeWriteDecider,deleteBeforeWriteTasklet,createHttpConnectionTasklet,org.springframework.batch.core.scope.internalStepScope,org.springframework.beans.factory.config.CustomEditorConfigurer,org.springframework.batch.core.configuration.xml.CoreNamespacePostProcessor,clientWorkflowOff,deleteBeforeWrite,startHttpConnection,clientNamespaceSync,clientJcrNodes,clientWorkflowOn,clientJob,clientBatchJobListener,loggingStepExecutionListener,serverJcrNodesReader,serverJcrNodesProcessor,serverProtobufNodesWriter,clientWorkflowOnTasklet,serverJobLauncher,serverJobRepository,serverTransactionManager,serverNamespaceReader,serverNamespaceProcessor,serverNamespaceWriter,serverNamespaceSync,serverJcrNodes,serverJob,serverBatchJobListener,clientWorkflowOffTasklet,slingRepository,workflowManager,resourceResolverFactory,scopedTarget.deleteBeforeWriteTasklet,scopedTarget.org.springframework.batch.repeat.policy.SimpleCompletionPolicy#0,org.springframework.batch.repeat.policy.SimpleCompletionPolicy#0,scopedTarget.serverJcrNodesProcessor,scopedTarget.clientWorkflowOnTasklet,scopedTarget.clientWorkflowOffTasklet]; root of factory hierarchy
24.09.2018 10:48:00.712 *INFO* [SpringOsgiExtenderThread-2] org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor Shutting down ExecutorService 'clientJobLauncherTaskExecutor'
24.09.2018 10:48:00.715 *ERROR* [SpringOsgiExtenderThread-2] org.springframework.osgi.extender.internal.activator.ContextLoaderListener Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=com.twcable.grabbit, config=osgibundle:/META-INF/spring/*.xml))
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'clientWorkflowOff': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/transaction/annotation/Isolation
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:529)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:615)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:62)
	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:327)
	at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:87)
	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:292)
	at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:138)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: org/springframework/transaction/annotation/Isolation
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
	at java.lang.Class.privateGetPublicMethods(Class.java:2902)
	at java.lang.Class.getMethods(Class.java:1615)
	at org.springframework.beans.ExtendedBeanInfoFactory.supports(ExtendedBeanInfoFactory.java:53)
	at org.springframework.beans.ExtendedBeanInfoFactory.getBeanInfo(ExtendedBeanInfoFactory.java:45)
	at org.springframework.beans.CachedIntrospectionResults.<init>(CachedIntrospectionResults.java:270)
	at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:195)
	at org.springframework.beans.BeanWrapperImpl.getCachedIntrospectionResults(BeanWrapperImpl.java:321)
	at org.springframework.beans.BeanWrapperImpl.getPropertyDescriptorInternal(BeanWrapperImpl.java:351)
	at org.springframework.beans.BeanWrapperImpl.isWritableProperty(BeanWrapperImpl.java:427)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1419)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1158)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
	... 13 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.transaction.annotation.Isolation not found by org.springframework.batch.core [548]
	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1574)
	at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)
	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 27 common frames omitted

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants