You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by GitBox <gi...@apache.org> on 2022/11/18 05:51:39 UTC

[GitHub] [nifi] TheGreatRandall opened a new pull request, #6676: NIFI-10837 fixing flaky test in TestXMLReader

TheGreatRandall opened a new pull request, #6676:
URL: https://github.com/apache/nifi/pull/6676

   <!-- Licensed to the Apache Software Foundation (ASF) under one or more -->
   <!-- contributor license agreements.  See the NOTICE file distributed with -->
   <!-- this work for additional information regarding copyright ownership. -->
   <!-- The ASF licenses this file to You under the Apache License, Version 2.0 -->
   <!-- (the "License"); you may not use this file except in compliance with -->
   <!-- the License.  You may obtain a copy of the License at -->
   <!--     http://www.apache.org/licenses/LICENSE-2.0 -->
   <!-- Unless required by applicable law or agreed to in writing, software -->
   <!-- distributed under the License is distributed on an "AS IS" BASIS, -->
   <!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
   <!-- See the License for the specific language governing permissions and -->
   <!-- limitations under the License. -->
   
   # Summary
   
   [NIFI-10837](https://issues.apache.org/jira/browse/NIFI-10837)
   Following the problem in the issue NIFI-10837. I dived deep to the class "TestXMLReaderProcessor" where the record has been transfer to String and stored in records.
   After several printouts and checking log files and view the code in Record interface, we found that we can actually get the value and field of each record. 
   
   The reason assertion can't pass is that the record is implemented as hashmap. When record.toString(), the order of the data is non-deterministic.
   
   Since the record.toString() return a string variable, I did not really want to change too many codes. And the onTrigger function only put the string variable to records List. So I create a String variable to make the record in a specific format. As I said before, we can get value of the record by given function record.getValue("field")
   ```
   String str="MapRecord[{COUNTRY="+record.getValue("COUNTRY").toString()+", ATTR_ID="+record.getValue("ATTR_ID").toString()+", NAME="+record.getValue("NAME").toString()+", AGE="+record.getValue("AGE").toString()+"}]";
   
   ```
   By changing this, the compile can pass and the bug has been fixed. It is not flaky anymore and can pass the NonDex's check.
   # Tracking
   
   Please complete the following tracking steps prior to pull request creation.
   
   ### Issue Tracking
   
   - [X] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue created
   
   ### Pull Request Tracking
   
   - [X] Pull Request title starts with Apache NiFi Jira issue number, such as `NIFI-00000`
   - [X] Pull Request commit message starts with Apache NiFi Jira issue number, as such `NIFI-00000`
   
   ### Pull Request Formatting
   
   - [X] Pull Request based on current revision of the `main` branch
   - [X] Pull Request refers to a feature branch with one commit containing changes
   
   # Verification
   
   Please indicate the verification steps performed prior to pull request creation.
   
   ### Build
   
   - [ ] Build completed using `mvn clean install -P contrib-check`
     - [X] JDK 8
     - [ ] JDK 11
     - [ ] JDK 17
   
   ### Licensing
   
   - [ ] New dependencies are compatible with the [Apache License 2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License Policy](https://www.apache.org/legal/resolved.html)
   - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` files
   
   ### Documentation
   
   - [ ] Documentation formatting appears as expected in rendered files


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@nifi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [nifi] exceptionfactory commented on pull request #6676: NIFI-10837 fixing flaky test in TestXMLReader

Posted by "exceptionfactory (via GitHub)" <gi...@apache.org>.
exceptionfactory commented on PR #6676:
URL: https://github.com/apache/nifi/pull/6676#issuecomment-1419499165

   @TheGreatRandall as noted previously, it would be best to trace this problem to the root cause instead of making adjustments further down. I am closing this pull request for now, but feel free to follow up on this issue and open a new pull request after evaluating the root cause with a potential solution.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@nifi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [nifi] exceptionfactory closed pull request #6676: NIFI-10837 fixing flaky test in TestXMLReader

Posted by "exceptionfactory (via GitHub)" <gi...@apache.org>.
exceptionfactory closed pull request #6676: NIFI-10837 fixing flaky test in TestXMLReader
URL: https://github.com/apache/nifi/pull/6676


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@nifi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [nifi] TheGreatRandall commented on pull request #6676: NIFI-10837 fixing flaky test in TestXMLReader

Posted by GitBox <gi...@apache.org>.
TheGreatRandall commented on PR #6676:
URL: https://github.com/apache/nifi/pull/6676#issuecomment-1328244704

   > Thanks for the contribution @TheGreatRandall. Please review the automated checks to correct the code style violations. The changes also break the unit test, so a different approach may be necessary.
   
   Hi @exceptionfactory. Thank you for your feedback. May I know what part of unit tests been broken? And could you more specific about a different approach? Thank you!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@nifi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [nifi] exceptionfactory commented on pull request #6676: NIFI-10837 fixing flaky test in TestXMLReader

Posted by GitBox <gi...@apache.org>.
exceptionfactory commented on PR #6676:
URL: https://github.com/apache/nifi/pull/6676#issuecomment-1329469155

   Thanks for the reply @TheGreatRandall.
   
   The unit test failures are visible in the `Checks` tab on GitHub, and should also appear when building on a local machine. Here is the current set of failures:
   
   ```
   Error:  Failures: 
   Error:    TestXMLReader.testContentField:176 expected: <5> but was: <1>
   Error:    TestXMLReader.testInferSchema:201 expected: <MapRecord[{software=MapRecord[{content_field=Apache NiFi, favorite=true}], num=123, name=John Doe}]> but was: <>
   Error:    TestXMLReader.testInferSchemaContentFieldNameNotSet:220 expected: <MapRecord[{software=MapRecord[{favorite=true}], num=123, name=John Doe}]> but was: <>
   Error:    TestXMLReader.testInferSchemaContentFieldNameNotSetSubElementExists:239 expected: <MapRecord[{field_with_attribute=MapRecord[{attr=attr_content, value=123}]}]> but was: <>
   Error:    TestXMLReader.testInferSchemaContentFieldNameSetSubElementExistsNameClash:259 expected: <MapRecord[{field_with_attribute=MapRecord[{attr=attr_content, value=content of field}]}]> but was: <>
   Error:    TestXMLReader.testInferSchemaContentFieldNameSetSubElementExistsNoNameClash:280 expected: <MapRecord[{field_with_attribute=MapRecord[{content_field=content of field, attr=attr_content, value=123}]}]> but was: <>
   Error:    TestXMLReader.testInferSchemaIgnoreAttributes:299 expected: <MapRecord[{software=Apache NiFi, num=123, name=John Doe}]> but was: <>
   Error:    TestXMLReader.testRecordFormatArray:104 expected: <4> but was: <1>
   Error:    TestXMLReader.testRecordFormatDeterminedBasedOnAttribute:82 expected: <4> but was: <1>
   ```
   
   `MapRecord.toString()` uses `LinkedHashMap`, so is this a problem in `MapRecord`, or some other class?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@nifi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org