[ https://issues.apache.org/jira/browse/DRILL-7393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vova Vysotskyi updated DRILL-7393: ---------------------------------- Labels: ready-to-commit (was: ) > Revisit Drill tests to ensure that patching is executed before any test run > --------------------------------------------------------------------------- > > Key: DRILL-7393 > URL: https://issues.apache.org/jira/browse/DRILL-7393 > Project: Apache Drill > Issue Type: Task > Affects Versions: 1.16.0, 1.17.0 > Reporter: Arina Ielchiieva > Assignee: Anton Gozhiy > Priority: Major > Labels: ready-to-commit > > Apache Drill patches some Protobuf and Guava classes (see GuavaPatcher, > ProtobufPatcher), patching should be done before classes to be patched are > loaded. That's why this operation is executed in static block in Drillbit > class. > Some tests in java-exec module use Drillbit class, some extend DrillTest > class, both of them patch Guava. But there are some tests that do not call > patcher but load classes to be patched. For example, > {{org.apache.drill.exec.sql.TestSqlBracketlessSyntax}} loads Guava > Preconditions class. If such tests run before tests that require patching, > tests run will fail since patching won't be successful. Patchers code does > not fail application if patching was not complete, just logs warning > ({{logger.warn("Unable to patch Guava classes.", e);}}), so sometimes it hard > to identify unit tests failure root cause. > We need to revisit all Drill tests to ensure that all of them extend common > test base class which patchers Protobuf and Guava classes in static block. > Also refactor Patcher classes to have assert to fail if patching fails during > unit testing if there are any problems. > After all tests are revised, we can remove {{metastore-test}} execution from > main.xml in {{maven-surefire-plugin}} which was added to ensure that all > Metastore tests run in a separate JVM where patching is done in first place > since Iceberg Metastore heavily depends on patched Guava Preconditions class. -- This message was sent by Atlassian Jira (v8.3.4#803005)