Errors in Inference Agent logfile "Object be.gen.* already added to the right ObjectTable of JoinNode".

Errors in Inference Agent logfile "Object be.gen.* already added to the right ObjectTable of JoinNode".

book

Article ID: KB0094559

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description

Resolution:
Description:
===========
The following errors are seen in the Inference Agent log.

bwb03.&ltproject>.local Warning [$default.be.mt$.Thread.7] - [kernel.core] [inference-class] Object &ltbe.gen...> already added to the right ObjectTable of JoinNode
        [EquivalentJoinNode(2) link(3) stopLoad(true) tables(0L,1R):
                Left Identifier      = [e];
                Right Identifier     = [a];
                Out Identifier       = [e, a];
                Condition Identifier = [e, a];
                Left Exp Identifier  = [e];
                Right Exp Identifier = [a];
                Join Left Index      = 0 ;
                Join Right Index     = 1 ;
                Condition            = e.CLIENT_IP == a.CLIENT_IPV4_DATA_Address;(be.gen.Rules....)]

bwb03.&ltproject>.local Warning [$default.be.mt$.Thread.3] - [kernel.core] [inference-class] Object &ltbe.gen...> already added to the right ObjectTable of JoinNode
        [EquivalentJoinNode(2) link(3) stopLoad(true) tables(0L,1R):
                Left Identifier      = [e];
                Right Identifier     = [a];
                Out Identifier       = [e, a];
                Condition Identifier = [e, a];
                Left Exp Identifier  = [e];
                Right Exp Identifier = [a];
                Join Left Index      = 0 ;
                Join Right Index     = 1 ;
                Condition            = e.CLIENT_IP == a.CLIENT_IPV4_DATA_Address;(be.gen.Rules.*)]

Environment:
===========
BusinessEvents 5.0
All Operating Systems

Symptoms:
=========
Warnings in Inference Agent log (see description)

Cause:
======
Two threads have modified a concept with cache+wm or memory-only mode near-simultaneously and then both try to assert the object into the rete network. It has to be nearly simultaneous or the second modifier will see that the concept is already in the network and remove it before re-asserting, which would avoid the error message.

Resolution:
========
Use locking (Cluster.DataGrid.Lock()) in PrepProcessor RuleFunction to avoid the issue.

Issue/Introduction

Errors in Inference Agent logfile "Object be.gen.* already added to the right ObjectTable of JoinNode".