[
https://issues.apache.org/jira/browse/UNOMI-145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Serge Huber updated UNOMI-145:
------------------------------
Fix Version/s: 1.5.0
> 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: 1.2.0-incubating
> Reporter: Don Hinshaw
> Priority: Major
> Fix For: 1.5.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
(v7.6.3#76005)