[jira] [Commented] (NIFI-5765) WriteJsonResult fails with Class Cast Exception when Choice data type resolves to Array
[ https://issues.apache.org/jira/browse/NIFI-5765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16668756#comment-16668756 ] ASF GitHub Bot commented on NIFI-5765: -- Github user JPercivall commented on the issue: https://github.com/apache/nifi/pull/3114 Thanks @ijokarumawak for the quick review! > WriteJsonResult fails with Class Cast Exception when Choice data type > resolves to Array > --- > > Key: NIFI-5765 > URL: https://issues.apache.org/jira/browse/NIFI-5765 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.8.0 >Reporter: Joseph Percivall >Assignee: Joseph Percivall >Priority: Major > Fix For: 1.9.0 > > Attachments: Screen Shot 2018-10-29 at 2.35.50 PM.png, > WriteJsonResult_Choice_Array_example.xml > > > The problem is this line[1]. For the casting, it uses the passed in value > instead of the chosen data type. > A template demonstrating the problem is attached. The corner case is hit when > there is a choice of data types, and the data type chosen is Array. It > properly does everything else but fails when casting it due to: > org.apache.nifi.serialization.record.type.ChoiceDataType cannot be cast to > org.apache.nifi.serialization.record.type.ArrayDataType. > [1] > https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/json/WriteJsonResult.java#L379 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5765) WriteJsonResult fails with Class Cast Exception when Choice data type resolves to Array
[ https://issues.apache.org/jira/browse/NIFI-5765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16668049#comment-16668049 ] ASF GitHub Bot commented on NIFI-5765: -- Github user asfgit closed the pull request at: https://github.com/apache/nifi/pull/3114 > WriteJsonResult fails with Class Cast Exception when Choice data type > resolves to Array > --- > > Key: NIFI-5765 > URL: https://issues.apache.org/jira/browse/NIFI-5765 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.8.0 >Reporter: Joseph Percivall >Assignee: Joseph Percivall >Priority: Major > Fix For: 1.9.0 > > Attachments: Screen Shot 2018-10-29 at 2.35.50 PM.png, > WriteJsonResult_Choice_Array_example.xml > > > The problem is this line[1]. For the casting, it uses the passed in value > instead of the chosen data type. > A template demonstrating the problem is attached. The corner case is hit when > there is a choice of data types, and the data type chosen is Array. It > properly does everything else but fails when casting it due to: > org.apache.nifi.serialization.record.type.ChoiceDataType cannot be cast to > org.apache.nifi.serialization.record.type.ArrayDataType. > [1] > https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/json/WriteJsonResult.java#L379 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5765) WriteJsonResult fails with Class Cast Exception when Choice data type resolves to Array
[ https://issues.apache.org/jira/browse/NIFI-5765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16668048#comment-16668048 ] ASF subversion and git services commented on NIFI-5765: --- Commit db966cf34879ea0d750ae7ab72344b228f889f59 in nifi's branch refs/heads/master from Joe Percivall [ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=db966cf ] NIFI-5765 Fixing WriteJsonResult to use chosenDataType when writing an Array value Fixing the same bug in PutElasticsearchHttpRecord.java This closes #3114. Signed-off-by: Koji Kawamura > WriteJsonResult fails with Class Cast Exception when Choice data type > resolves to Array > --- > > Key: NIFI-5765 > URL: https://issues.apache.org/jira/browse/NIFI-5765 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.8.0 >Reporter: Joseph Percivall >Assignee: Joseph Percivall >Priority: Major > Fix For: 1.9.0 > > Attachments: Screen Shot 2018-10-29 at 2.35.50 PM.png, > WriteJsonResult_Choice_Array_example.xml > > > The problem is this line[1]. For the casting, it uses the passed in value > instead of the chosen data type. > A template demonstrating the problem is attached. The corner case is hit when > there is a choice of data types, and the data type chosen is Array. It > properly does everything else but fails when casting it due to: > org.apache.nifi.serialization.record.type.ChoiceDataType cannot be cast to > org.apache.nifi.serialization.record.type.ArrayDataType. > [1] > https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/json/WriteJsonResult.java#L379 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5765) WriteJsonResult fails with Class Cast Exception when Choice data type resolves to Array
[ https://issues.apache.org/jira/browse/NIFI-5765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16668045#comment-16668045 ] ASF GitHub Bot commented on NIFI-5765: -- Github user ijokarumawak commented on a diff in the pull request: https://github.com/apache/nifi/pull/3114#discussion_r229158995 --- Diff: nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/json/TestWriteJsonResult.java --- @@ -472,4 +472,34 @@ public void testOnelineOutput() throws IOException { final String output = new String(data, StandardCharsets.UTF_8); assertEquals(expected, output); } + +@Test +public void testChoiceArray() throws IOException { +final List fields = new ArrayList<>(); +fields.add(new RecordField("path", RecordFieldType.CHOICE.getChoiceDataType(RecordFieldType.ARRAY.getArrayDataType(RecordFieldType.STRING.getDataType(); +//fields.add(new RecordField("path", RecordFieldType.ARRAY.getArrayDataType(RecordFieldType.STRING.getDataType(; --- End diff -- I'll remove this comment line when I merge this. > WriteJsonResult fails with Class Cast Exception when Choice data type > resolves to Array > --- > > Key: NIFI-5765 > URL: https://issues.apache.org/jira/browse/NIFI-5765 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.8.0 >Reporter: Joseph Percivall >Assignee: Joseph Percivall >Priority: Major > Attachments: Screen Shot 2018-10-29 at 2.35.50 PM.png, > WriteJsonResult_Choice_Array_example.xml > > > The problem is this line[1]. For the casting, it uses the passed in value > instead of the chosen data type. > A template demonstrating the problem is attached. The corner case is hit when > there is a choice of data types, and the data type chosen is Array. It > properly does everything else but fails when casting it due to: > org.apache.nifi.serialization.record.type.ChoiceDataType cannot be cast to > org.apache.nifi.serialization.record.type.ArrayDataType. > [1] > https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/json/WriteJsonResult.java#L379 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5765) WriteJsonResult fails with Class Cast Exception when Choice data type resolves to Array
[ https://issues.apache.org/jira/browse/NIFI-5765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16668013#comment-16668013 ] ASF GitHub Bot commented on NIFI-5765: -- Github user ijokarumawak commented on the issue: https://github.com/apache/nifi/pull/3114 Reviewing... > WriteJsonResult fails with Class Cast Exception when Choice data type > resolves to Array > --- > > Key: NIFI-5765 > URL: https://issues.apache.org/jira/browse/NIFI-5765 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.8.0 >Reporter: Joseph Percivall >Assignee: Joseph Percivall >Priority: Major > Attachments: Screen Shot 2018-10-29 at 2.35.50 PM.png, > WriteJsonResult_Choice_Array_example.xml > > > The problem is this line[1]. For the casting, it uses the passed in value > instead of the chosen data type. > A template demonstrating the problem is attached. The corner case is hit when > there is a choice of data types, and the data type chosen is Array. It > properly does everything else but fails when casting it due to: > org.apache.nifi.serialization.record.type.ChoiceDataType cannot be cast to > org.apache.nifi.serialization.record.type.ArrayDataType. > [1] > https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/json/WriteJsonResult.java#L379 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5765) WriteJsonResult fails with Class Cast Exception when Choice data type resolves to Array
[ https://issues.apache.org/jira/browse/NIFI-5765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16667800#comment-16667800 ] ASF GitHub Bot commented on NIFI-5765: -- Github user JPercivall commented on the issue: https://github.com/apache/nifi/pull/3114 Follow-up commit is b/c I found the same bug in PutElasticsearchHttpRecord. I believe that's the only other occurrence. > WriteJsonResult fails with Class Cast Exception when Choice data type > resolves to Array > --- > > Key: NIFI-5765 > URL: https://issues.apache.org/jira/browse/NIFI-5765 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.8.0 >Reporter: Joseph Percivall >Assignee: Joseph Percivall >Priority: Major > Attachments: Screen Shot 2018-10-29 at 2.35.50 PM.png, > WriteJsonResult_Choice_Array_example.xml > > > The problem is this line[1]. For the casting, it uses the passed in value > instead of the chosen data type. > A template demonstrating the problem is attached. The corner case is hit when > there is a choice of data types, and the data type chosen is Array. It > properly does everything else but fails when casting it due to: > org.apache.nifi.serialization.record.type.ChoiceDataType cannot be cast to > org.apache.nifi.serialization.record.type.ArrayDataType. > [1] > https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/json/WriteJsonResult.java#L379 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5765) WriteJsonResult fails with Class Cast Exception when Choice data type resolves to Array
[ https://issues.apache.org/jira/browse/NIFI-5765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16667684#comment-16667684 ] ASF GitHub Bot commented on NIFI-5765: -- Github user JPercivall commented on the issue: https://github.com/apache/nifi/pull/3114 Template for testing on the ticket: https://issues.apache.org/jira/browse/NIFI-5765 > WriteJsonResult fails with Class Cast Exception when Choice data type > resolves to Array > --- > > Key: NIFI-5765 > URL: https://issues.apache.org/jira/browse/NIFI-5765 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.8.0 >Reporter: Joseph Percivall >Assignee: Joseph Percivall >Priority: Major > Attachments: Screen Shot 2018-10-29 at 2.35.50 PM.png, > WriteJsonResult_Choice_Array_example.xml > > > The problem is this line[1]. For the casting, it uses the passed in value > instead of the chosen data type. > A template demonstrating the problem is attached. The corner case is hit when > there is a choice of data types, and the data type chosen is Array. It > properly does everything else but fails when casting it due to: > org.apache.nifi.serialization.record.type.ChoiceDataType cannot be cast to > org.apache.nifi.serialization.record.type.ArrayDataType. > [1] > https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/json/WriteJsonResult.java#L379 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5765) WriteJsonResult fails with Class Cast Exception when Choice data type resolves to Array
[ https://issues.apache.org/jira/browse/NIFI-5765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16667681#comment-16667681 ] ASF GitHub Bot commented on NIFI-5765: -- GitHub user JPercivall opened a pull request: https://github.com/apache/nifi/pull/3114 NIFI-5765 Fixing WriteJsonResult to use chosenDataType when writing a… …n Array value Thank you for submitting a contribution to Apache NiFi. In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### For all changes: - [X] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [X] Does your PR title start with NIFI- where is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character. - [X] Has your PR been rebased against the latest commit within the target branch (typically master)? - [X] Is your initial contribution a single, squashed commit? ### For code changes: - [X] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder? - [X] Have you written or updated unit tests to verify your changes? - [X] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [X] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly? - [X] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly? - [X] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties? ### For documentation related changes: - [X] Have you ensured that format looks appropriate for the output in which it is rendered? ### Note: Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible. You can merge this pull request into a Git repository by running: $ git pull https://github.com/JPercivall/nifi NIFI-5765_handling_WriteJsonResult_choice_array Alternatively you can review and apply these changes as the patch at: https://github.com/apache/nifi/pull/3114.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #3114 commit 6babefda6a533c0699a20d02a0dc84b25acc7ae8 Author: Joe Percivall Date: 2018-10-29T20:04:05Z NIFI-5765 Fixing WriteJsonResult to use chosenDataType when writing an Array value > WriteJsonResult fails with Class Cast Exception when Choice data type > resolves to Array > --- > > Key: NIFI-5765 > URL: https://issues.apache.org/jira/browse/NIFI-5765 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.8.0 >Reporter: Joseph Percivall >Assignee: Joseph Percivall >Priority: Major > Attachments: Screen Shot 2018-10-29 at 2.35.50 PM.png, > WriteJsonResult_Choice_Array_example.xml > > > The problem is this line[1]. For the casting, it uses the passed in value > instead of the chosen data type. > A template demonstrating the problem is attached. The corner case is hit when > there is a choice of data types, and the data type chosen is Array. It > properly does everything else but fails when casting it due to: > org.apache.nifi.serialization.record.type.ChoiceDataType cannot be cast to > org.apache.nifi.serialization.record.type.ArrayDataType. > [1] > https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/json/WriteJsonResult.java#L379 -- This message was sent by Atlassian JIRA (v7.6.3#76005)