Corticon .Net inline response is not the same when executed

Posted by A_Haddad on 09-Mar-2016 12:01

Hi all,

I am studying diffrent ways to use Corticon server -version 5.4.1) in a .Net application.

So I followed the JOM sample given with Corticon installation files in the aim to use Corticon as an inline component of the .Net application.

I noticed a strange behavior.:

I run method iICcServer.execute(serviceName, llistObjects) in two ways:

  • First time : in a synchronous way: iICcServer.execute() is run on the main application thread
  • Second  time: in an asynchronous way: iICcServer.execute() is run on a different thread, through a Task<>.

The problem is:

  • the Corticon response is not the same: some rules are not triggered in the asynchronous mode! So I have less modified/added entities!!

This is the main problem.

Another one, but less important: For performances, the synchronous mode is faster!!


Have some one encountered the same problem?

Any ideas?

All Replies

Posted by A_Haddad on 10-Mar-2016 02:59

To give you more details:

   Synchronous call is done through a very classical call in C#, like following:

BRMSInterface.CallDecisionService(DECISION_SERVICE_NAME, distributorCode, lDataMappedForBRMS);

and the called method contains a simple call to the iICcServer.execute(serviceName, llistObjects);

   Asynchronous call is done in a classical .Net Task:

static Task<ArrayList> CallDecisionService_async(int distributorCode, ArrayList distDataMappedForBRMS)

       {

           return Task<ArrayList>.Factory.StartNew(() =>

           {

               ArrayList distBRMSResponse = BRMSInterface.CallDecisionService(distributorCode, DECISION_SERVICE_NAME, distDataMappedForBRMS);

               _competitionCrudeResults.TryAdd(distributorCode, distBRMSResponse);

               return distBRMSResponse;

           });

       }

I joined here a comparison HTML report between Corticon Server logs in the two cases (async log is to the left side).

You can see that payloads are identical.

Differences begin being visible in line 157:

157    Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_1:@

158    Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_2:@

159    Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_3:@

160    Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_4:@

161    Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_5:@

162    Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_6:@

163    Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_7:@

164    Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_8:@

165    Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_9:@

166    Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_10:@

167    Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_11:@

==> These rules were only triggered in the synchronous execution.

And then from line 289, the number of returned entities is different!

Smells like a bug in Corticon DLLs??

Posted by A_Haddad on 10-Mar-2016 03:02

[View:/cfs-file/__key/communityserver-discussions-components-files/14/Comp_5F00_logs_5F00_async_5F00_vs_5F00_sync.zip:320:240]

Posted by Jan Krishnamurthy on 10-Mar-2016 07:46

Hello,

This issue seems like it requires more troubleshooting and reviewing logs and warrants a support case.

I'd encourage you to open a support ticket for further assistance and deep dive into the issue.

Thank you,

Jan

Posted by A_Haddad on 10-Mar-2016 08:13

Thank you Jan.

I will check who exactly (either our customer or our consulting company) should create the ticket... And will come back to you if any news.

BR

This thread is closed