Hi All,

If some user try to update a artifact deployed through an CApp as described
in below scenario, What should be the our answer to an user?

*Scenario:*
1. User have created a CApp which include all the artifacts need to try out
MS and MP on ESB [Attached a such artifact].
2. Start the ESB server and Deploys the created CApp on ESB server
3. Due to some reason user wants to just change an one Message Processor
parameter like "Maximum delivery attempts", So using admin console UI he
changes the parameter value {[UI is the easiest way to do such a small
change]
4. Once user restart the server, he will experience the below listed
exception on stack-trace due to artifact duplication.

*Note*:
With current CApp deploy architecture all artifacts deployed through a CApp
keep on a temporarily location [wso2esb-4.8.1/repository/carbonapps/work/]
and At every restart CApp will redeploy again.
But if user edits one of capp deployed artifacts It will duplicate same
artifact inside wso2esb-4.8.1/repository/deployment/server folder hierarchy
as well.So artifact duplication happen at server restart time.


So whats our stand on this kind of situation?
May be we can say we are not allow to update CApp deployed artifacts
through Admin console UI.
But we do have real usability issue here, since users tend to use admin
console UI to make a small changes on an artifact.
Further our docs [1] does not say anything about this as well.

[This concern is valid for all the wso2 products which supports CApp
deployment]


*Observed following Error:*

[2014-01-21 18:17:55,517] ERROR - MessageProcessorDeployer Message
Processor Deployment from the file :
/home/asankav/servers/releasetest/ESB481/wso2esb-4.8.1/repository/carbonapps/work/1390308470104ESB_MSandMP_WSO2MB_Schenario_TestPack_O_CApp_1.0.0.car/MessageProcessorO1_1.0.0/MessageProcessorO1-1.0.0.xml
: Failed.
org.apache.synapse.SynapseException: Error scheduling job : JobDetail
'synapse.message.processor.quartz.MessageProcessorO1-job':  jobClass:
'org.apache.synapse.message.processor.impl.forwarder.ForwardingService
concurrentExectionDisallowed: false persistJobDataAfterExecution: false
isDurable: false requestsRecovers: false with trigger Trigger
'DEFAULT.MessageProcessorO1-trigger':  triggerClass:
'org.quartz.impl.triggers.SimpleTriggerImpl calendar: 'null'
misfireInstruction: 4 nextFireTime: Tue Jan 21 18:17:55 IST 2014
    at
org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.start(ScheduledMessageProcessor.java:153)
    at
org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.init(ScheduledMessageProcessor.java:108)
    at
org.apache.synapse.message.processor.impl.forwarder.ScheduledMessageForwardingProcessor.init(ScheduledMessageForwardingProcessor.java:43)
    at
org.apache.synapse.deployers.MessageProcessorDeployer.deploySynapseArtifact(MessageProcessorDeployer.java:52)
    at
org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:190)
    at
org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifacts(SynapseAppDeployer.java:140)
    at
org.wso2.carbon.application.deployer.internal.ApplicationManager.deployCarbonApp(ApplicationManager.java:251)
    at
org.wso2.carbon.application.deployer.CappAxis2Deployer.deploy(CappAxis2Deployer.java:114)
    at
org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
    at
org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:807)
    at
org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
    at
org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)
    at
org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
    at
org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371)
    at
org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59)
    at
org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67)
    at
org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.runAxisDeployment(CarbonDeploymentSchedulerTask.java:79)
    at
org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:124)
    at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.quartz.ObjectAlreadyExistsException: Unable to store Job :
'synapse.message.processor.quartz.MessageProcessorO1-job', because one
already exists with this identification.
    at org.quartz.simpl.RAMJobStore.storeJob(RAMJobStore.java:277)
    at org.quartz.simpl.RAMJobStore.storeJobAndTrigger(RAMJobStore.java:249)
    at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:840)
    at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:250)
    at
org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.start(ScheduledMessageProcessor.java:151)
    ... 26 more
[2014-01-21 18:17:55,575] ERROR - AbstractSynapseArtifactDeployer
Deployment of the Synapse Artifact from file :
/home/asankav/servers/releasetest/ESB481/wso2esb-4.8.1/repository/carbonapps/work/1390308470104ESB_MSandMP_WSO2MB_Schenario_TestPack_O_CApp_1.0.0.car/MessageProcessorO1_1.0.0/MessageProcessorO1-1.0.0.xml
: Failed!
org.apache.synapse.deployers.SynapseArtifactDeploymentException: Message
Processor Deployment from the file :
/home/asankav/servers/releasetest/ESB481/wso2esb-4.8.1/repository/carbonapps/work/1390308470104ESB_MSandMP_WSO2MB_Schenario_TestPack_O_CApp_1.0.0.car/MessageProcessorO1_1.0.0/MessageProcessorO1-1.0.0.xml
: Failed.
    at
org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.handleSynapseArtifactDeploymentError(AbstractSynapseArtifactDeployer.java:471)
    at
org.apache.synapse.deployers.MessageProcessorDeployer.deploySynapseArtifact(MessageProcessorDeployer.java:71)
    at
org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:190)
    at
org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifacts(SynapseAppDeployer.java:140)
    at
org.wso2.carbon.application.deployer.internal.ApplicationManager.deployCarbonApp(ApplicationManager.java:251)
    at
org.wso2.carbon.application.deployer.CappAxis2Deployer.deploy(CappAxis2Deployer.java:114)
    at
org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
    at
org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:807)
    at
org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
    at
org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)
    at
org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
    at
org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371)
    at
org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59)
    at
org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67)
    at
org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.runAxisDeployment(CarbonDeploymentSchedulerTask.java:79)
    at
org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:124)
    at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.synapse.SynapseException: Error scheduling job :
JobDetail 'synapse.message.processor.quartz.MessageProcessorO1-job':
jobClass:
'org.apache.synapse.message.processor.impl.forwarder.ForwardingService
concurrentExectionDisallowed: false persistJobDataAfterExecution: false
isDurable: false requestsRecovers: false with trigger Trigger
'DEFAULT.MessageProcessorO1-trigger':  triggerClass:
'org.quartz.impl.triggers.SimpleTriggerImpl calendar: 'null'
misfireInstruction: 4 nextFireTime: Tue Jan 21 18:17:55 IST 2014
    at
org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.start(ScheduledMessageProcessor.java:153)
    at
org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.init(ScheduledMessageProcessor.java:108)
    at
org.apache.synapse.message.processor.impl.forwarder.ScheduledMessageForwardingProcessor.init(ScheduledMessageForwardingProcessor.java:43)
    at
org.apache.synapse.deployers.MessageProcessorDeployer.deploySynapseArtifact(MessageProcessorDeployer.java:52)
    ... 23 more
Caused by: org.quartz.ObjectAlreadyExistsException: Unable to store Job :
'synapse.message.processor.quartz.MessageProcessorO1-job', because one
already exists with this identification.
    at org.quartz.simpl.RAMJobStore.storeJob(RAMJobStore.java:277)
    at org.quartz.simpl.RAMJobStore.storeJobAndTrigger(RAMJobStore.java:249)
    at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:840)
    at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:250)
    at
org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.start(ScheduledMessageProcessor.java:151)
    ... 26 more


[1] http://docs.wso2.org/display/Carbon420/C-App+Deployment+Process

-- 
Asanka Vithanage
Senior Software Engineer -QA
Mobile: +94 0716286708
Email: [email protected]
WSO2 Inc. www.wso2.com

Attachment: ESB_MSandMP_WSO2MB_Schenario_TestPack_O_CApp_1.0.0.car
Description: Binary data

_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to