cancel
Showing results for 
Search instead for 
Did you mean: 

Promotion engine Kie container is not swapping properly in clustered environment still loading old rules

0 Kudos

HI,

We are facing a issue in production environment after applying new patch 6.2.0.17 to 6.2 Whenever a promotion is published or archived the kie container tries to reload and notify other clusters, in the same time some user will be using front end. This is happening in off-peak time. After publish promotions doesn't get fired since its using old rule version from memory not the current one. Looks like latest version is not getting communicated among all clusters.

Here are logs from publishing node:

INFO | jvm 1 | main | 2018/05/16 19:00:00.437 | INFO [hybrisHTTP3476] [130.211.3.131] [DefaultPlatformRuleEngineService] Start rules module activation

INFO | jvm 1 | main | 2018/05/16 19:00:00.637 | INFO [hybrisHTTP3476] [130.211.3.131] [DefaultPlatformRuleEngineService] Notifying other nodes about Kie Container swap started for module [promotions-module]

INFO | jvm 1 | main | 2018/05/16 19:00:00.637 | INFO [hybrisHTTP3476] [130.211.3.131] [DefaultRuleEngineKieModuleSwapper] swapping started for rule module : promotions-module

INFO | jvm 1 | main | 2018/05/16 19:00:00.637 | INFO [hybrisHTTP3476] [130.211.3.131] [DefaultRuleEngineKieModuleSwapper] Waiting for a currently running async worker to finish the job...

INFO | jvm 1 | main | 2018/05/16 19:00:18.883 | INFO [RulePublisher-Thread-28687] [KieRepositoryImpl] KieModule was added: MemoryKieModule[releaseId=hybris-rules:promotions:1.0.2702]

INFO | jvm 1 | main | 2018/05/16 19:00:31.200 | INFO [RulePublisher-Thread-28688] [KieRepositoryImpl] KieModule was added: MemoryKieModule[releaseId=hybris-rules:promotions:1.0.2702] INFO | jvm 1 | main | 2018/05/16 19:00:34.505 | INFO | jvm 1 | main | 2018/05/16 19:00:34.706 | INFO [RulePublisher-Thread-28694] [KieRepositoryImpl] KieModule was added: MemoryKieModule[releaseId=hybris-rules:promotions:1.0.2702]

INFO | jvm 1 | main | 2018/05/16 19:00:34.706 | INFO [RuleEngine-module-swapping-0] [DefaultRuleEngineKieModuleSwapper] Drools Engine Service initialization for 'promotions-module' module in tenant 'master' finished. ReleaseId of the new Kie Module: 'hybris-rules:promotions:1.0.2702'

INFO | jvm 1 | main | 2018/05/16 19:00:34.706 | INFO [RuleEngine-module-swapping-0] [KieRepositoryImpl] KieModule was added: MemoryKieModule[releaseId=hybris-rules:promotions:1.0.2702]

INFO | jvm 1 | main | 2018/05/16 19:01:04.045 | INFO [RuleEngine-module-swapping-0] [DefaultRuleEngineBootstrap] The new module with deployedMvnVersion [1.0.2702] was activated successfully

INFO | jvm 1 | main | 2018/05/16 19:01:04.046 | INFO [RuleEngine-module-swapping-0] [DefaultRuleEngineBootstrap] Swapping to a new created container [hybris-rules:promotions:1.0.2702]

INFO | jvm 1 | main | 2018/05/16 19:01:04.046 | INFO [RuleEngine-module-swapping-0] [DefaultPlatformRuleEngineService] Notifying other nodes about Kie Container swap completed for module [hybris-rules:promotions:1.0.2702] and version [1.0.2702]

INFO | jvm 1 | main | 2018/05/16 19:01:04.046 | INFO [RuleEngine-module-swapping-0] [DefaultPlatformRuleEngineService] Swapping to a newly created container [hybris-rules:promotions:1.0.2702] is finished successfully

INFO | jvm 1 | main | 2018/05/16 19:01:04.046 | INFO [RuleEngine-module-swapping-0] [ModuleSwapCompletedListener] Received event [RuleEngineModuleSwapCompletedEvent{rulesModuleName='hybris-rules:promotions:1.0.2702', previousRulesModuleVersion='1.0.2702', rulesModuleVersion='1.0.2702', failed=false, failureReason='null'}]. Dispatching it to backoffice notification framework

Logs from one of front-end servers are like:

[RuleEngine-module-swapping-0] [DefaultRuleEngineBootstrap] The new module with deployedMvnVersion [1.0.2702] was activated successfully

Swapping to a new created container [hybris-rules:promotions:1.0.2702]

Swapping to a newly created container [hybris-rules:promotions:1.0.2702] is finished successfully

ModuleSwapCompletedListener] Received event [RuleEngineModuleSwapCompletedEvent{rulesModuleName='hybris-rules:promotions:1.0.2702', previousRulesModuleVersion='1.0.2701', rulesModuleVersion='1.0.2702', failed=false, failureReason='null'}]. Dispatching it to backoffice notification framework

[RuleEngine-module-swapping-0] [DefaultRuleEngineKieModuleSwapper] Removing old Kie module [hybris-rules:promotions:1.0.2701]

But after some time it still loads the old version since not able to found latest in memory

[DefaultPlatformRuleEngineService] KieContainer with releaseId [hybris-rules:promotions:1.0.2702] was not found. Trying to look up for closest matching version...

[DefaultPlatformRuleEngineService] Found KieContainer with releaseId [hybris-rules:promotions:1.0.2671]

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member1320010
Participant
0 Kudos

https://jira.hybris.com/browse/ECP-2218 - this is fixed with hybris 6.6 .. pls check the JIRA for more details

Former Member
0 Kudos

any solution? we have the same problem