It needs to be an expression that combines both (or all) values:
try "id + id1"
Ram
On Monday, October 23, 2017, 6:04:14 PM PDT, Vivek Bhide
<vivek.bh...@target.com> <mailto:vivek.bh...@target.com> wrote:
Thanks Ram for your suggestions
Field types that I am trying are the basic primitive types. In
fact, I was
just playing around with the dedup examples that is available in
malhar git.
I just added one more field id1 with getter and setters to
'TestEvent' class
from testcase and want to try dedup on the combination of both fields
Operator fails right during activate() method while getting the
keyGetter
for which is then used in getKey()
Below are few expressions i tried
Default value <value>id</id>
combinations tried -
<value>id,id1</id>
<value>getId(),getId1()</id>
<value>{$}.getId() && {$}.getId1()</id>
<value>"getId()","getId1()"</id>
<value>{$}.getId(),{$}.getId1()</value>
<value>{{$}.getId(),{$}.getId1()}</value>
Below is the stacktrace of the exception I got most of the times:
2017-10-23 16:48:52,775 [2/Deduper:BoundedDedupOperator] WARN
util.LoggerUtil shouldFetchLogFileInformation - Log information is
unavailable. To enable log information log4j/logging should be
configured
with single FileAppender that has immediateFlush set to true and
log level
set to ERROR or greater.
2017-10-23 16:48:52,775 [2/Deduper:BoundedDedupOperator] ERROR
engine.StreamingContainer run - Abandoning deployment of operator
OperatorDeployInfo[id=2,name=Deduper,type=GENERIC,checkpoint={ffffffffffffffff,
0,
0},inputs=[OperatorDeployInfo.InputDeployInfo[portName=input,streamId=Generator
to
Dedup,sourceNodeId=1,sourcePortName=output,locality=<null>,partitionMask=0,partitionKeys=<null>]],outputs=[OperatorDeployInfo.OutputDeployInfo[portName=unique,streamId=Dedup
Unique to Console,bufferServer=localhost],
OperatorDeployInfo.OutputDeployInfo[portName=duplicate,streamId=Dedup
Duplicate to Console,bufferServer=localhost],
OperatorDeployInfo.OutputDeployInfo[portName=expired,streamId=Dedup
Expired
to Console,bufferServer=localhost]]] due to setup failure.
java.lang.RuntimeException:
org.codehaus.commons.compiler.CompileException:
Line 1, Column 101: ')' expected instead of ','
at
com.datatorrent.lib.util.PojoUtils.compileExpression(PojoUtils.java:778)
at
com.datatorrent.lib.util.PojoUtils.compileExpression(PojoUtils.java:746)
at
com.datatorrent.lib.util.PojoUtils.createGetter(PojoUtils.java:603)
at
com.datatorrent.lib.util.PojoUtils.createGetter(PojoUtils.java:235)
at
com.datatorrent.lib.util.PojoUtils.createGetter(PojoUtils.java:225)
at
org.apache.apex.malhar.lib.dedup.BoundedDedupOperator.activate(BoundedDedupOperator.java:121)
at com.datatorrent.stram.engine.Node.activate(Node.java:644)
at
com.datatorrent.stram.engine.GenericNode.activate(GenericNode.java:212)
at
com.datatorrent.stram.engine.StreamingContainer.setupNode(StreamingContainer.java:1364)
at
com.datatorrent.stram.engine.StreamingContainer.access$100(StreamingContainer.java:129)
at
com.datatorrent.stram.engine.StreamingContainer$2.run(StreamingContainer.java:1413)
--
Sent from: http://apache-apex-users-list.78494.x6.nabble.com/
<http://apache-apex-users-list.78494.x6.nabble.com/>