You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by "Serge Huber (Jira)" <ji...@apache.org> on 2022/10/21 13:36:00 UTC

[jira] [Closed] (UNOMI-145) EventPropertyCondition Segment Cannot Save Rule

     [ https://issues.apache.org/jira/browse/UNOMI-145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Serge Huber closed UNOMI-145.
-----------------------------
    Resolution: Fixed

JSON schemas should solve this.

> EventPropertyCondition Segment Cannot Save Rule
> -----------------------------------------------
>
>                 Key: UNOMI-145
>                 URL: https://issues.apache.org/jira/browse/UNOMI-145
>             Project: Apache Unomi
>          Issue Type: Bug
>    Affects Versions: unomi-1.2.0-incubating
>            Reporter: Don Hinshaw
>            Priority: Major
>             Fix For: unomi-2.1.0
>
>
> When creating the following segment, the initial step of putting all existing profiles into the segment works just fine.  But the rule that is used to put future profiles into the segment cannot be saved due to a NumberFomatException.
> Work around:  I was able to use "propertyValues": ["test_value"] and use the "all" operator to get around this error for the time being.
> {code:java}
> {
>     "itemId": "test_segment",
>     "itemType": "segment",
>     "condition": {
>         "parameterValues": {
>             "eventCondition": {
>                 "parameterValues": {
>                     "propertyName": "target.properties.test",
>                     "comparisonOperator": "equals",
>                     "propertyValue": "test_value"
>                 },
>                 "type": "eventPropertyCondition"
>             }
>         },
>         "type": "pastEventCondition"
>     },
>     "metadata": {
>         "id": "test_segment",
>         "name": "Test Segment",
>         "description": "This is a Test Segment",
>         "scope": "systemscope",
>         "tags": [
>             "Test"
>         ],
>         "enabled": true,
>         "missingPlugins": false,
>         "hidden": false,
>         "readOnly": false
>     }
> }
> {code}
> {noformat}
> 2017-12-19 14:36:21,517 | ERROR |  - /cxs/segments | sticSearchPersistenceServiceImpl | 205 - org.apache.unomi.persistence-elasticsearch-core - 1.2.0.incubating | Error while executing in class loader
> MapperParsingException[failed to parse [condition.parameterValues.propertyValue]]; nested: NumberFormatException[For input string: "test_value"];
> 	at org.elasticsearch.index.mapper.FieldMapper.parse(FieldMapper.java:298)
> 	at org.elasticsearch.index.mapper.DocumentParser.parseObjectOrField(DocumentParser.java:450)
> 	at org.elasticsearch.index.mapper.DocumentParser.parseValue(DocumentParser.java:576)
> 	at org.elasticsearch.index.mapper.DocumentParser.innerParseObject(DocumentParser.java:396)
> 	at org.elasticsearch.index.mapper.DocumentParser.parseObjectOrNested(DocumentParser.java:373)
> 	at org.elasticsearch.index.mapper.DocumentParser.parseObjectOrField(DocumentParser.java:447)
> 	at org.elasticsearch.index.mapper.DocumentParser.parseObject(DocumentParser.java:467)
> 	at org.elasticsearch.index.mapper.DocumentParser.innerParseObject(DocumentParser.java:383)
> 	at org.elasticsearch.index.mapper.DocumentParser.parseObjectOrNested(DocumentParser.java:373)
> 	at org.elasticsearch.index.mapper.DocumentParser.parseObjectOrField(DocumentParser.java:447)
> 	at org.elasticsearch.index.mapper.DocumentParser.parseObject(DocumentParser.java:467)
> 	at org.elasticsearch.index.mapper.DocumentParser.innerParseObject(DocumentParser.java:383)
> 	at org.elasticsearch.index.mapper.DocumentParser.parseObjectOrNested(DocumentParser.java:373)
> 	at org.elasticsearch.index.mapper.DocumentParser.internalParseDocument(DocumentParser.java:93)
> 	at org.elasticsearch.index.mapper.DocumentParser.parseDocument(DocumentParser.java:66)
> 	at org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:277)
> 	at org.elasticsearch.index.shard.IndexShard.prepareIndex(IndexShard.java:536)
> 	at org.elasticsearch.index.shard.IndexShard.prepareIndexOnPrimary(IndexShard.java:513)
> 	at org.elasticsearch.action.bulk.TransportShardBulkAction.prepareIndexOperationOnPrimary(TransportShardBulkAction.java:450)
> 	at org.elasticsearch.action.bulk.TransportShardBulkAction.executeIndexRequestOnPrimary(TransportShardBulkAction.java:458)
> 	at org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:143)
> 	at org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:113)
> 	at org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:69)
> 	at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryShardReference.perform(TransportReplicationAction.java:939)
> 	at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryShardReference.perform(TransportReplicationAction.java:908)
> 	at org.elasticsearch.action.support.replication.ReplicationOperation.execute(ReplicationOperation.java:113)
> 	at org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.onResponse(TransportReplicationAction.java:322)
> 	at org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.onResponse(TransportReplicationAction.java:264)
> 	at org.elasticsearch.action.support.replication.TransportReplicationAction$1.onResponse(TransportReplicationAction.java:888)
> 	at org.elasticsearch.action.support.replication.TransportReplicationAction$1.onResponse(TransportReplicationAction.java:885)
> 	at org.elasticsearch.index.shard.IndexShardOperationsLock.acquire(IndexShardOperationsLock.java:147)
> 	at org.elasticsearch.index.shard.IndexShard.acquirePrimaryOperationLock(IndexShard.java:1658)
> 	at org.elasticsearch.action.support.replication.TransportReplicationAction.acquirePrimaryShardReference(TransportReplicationAction.java:897)
> 	at org.elasticsearch.action.support.replication.TransportReplicationAction.access$400(TransportReplicationAction.java:93)
> 	at org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.doRun(TransportReplicationAction.java:281)
> 	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
> 	at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:260)
> 	at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:252)
> 	at org.elasticsearch.transport.RequestHandlerRegistry.processMessageReceived(RequestHandlerRegistry.java:69)
> 	at org.elasticsearch.transport.TransportService$7.doRun(TransportService.java:627)
> 	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:638)
> 	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_131]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_131]
> 	at java.lang.Thread.run(Thread.java:748)[:1.8.0_131]
> Caused by: java.lang.NumberFormatException: For input string: "test_value"
> 	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)[:1.8.0_131]
> 	at java.lang.Long.parseLong(Long.java:589)[:1.8.0_131]
> 	at java.lang.Long.parseLong(Long.java:631)[:1.8.0_131]
> 	at org.elasticsearch.common.xcontent.support.AbstractXContentParser.longValue(AbstractXContentParser.java:172)
> 	at org.elasticsearch.index.mapper.NumberFieldMapper$NumberType$7.parse(NumberFieldMapper.java:740)
> 	at org.elasticsearch.index.mapper.NumberFieldMapper$NumberType$7.parse(NumberFieldMapper.java:719)
> 	at org.elasticsearch.index.mapper.NumberFieldMapper.parseCreateField(NumberFieldMapper.java:1058)
> 	at org.elasticsearch.index.mapper.FieldMapper.parse(FieldMapper.java:287)
> 	... 44 more
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)