I've been mostly lurking for awhile, but I would like to start picking off some 
bugs in the Java implementation.In the process of slogging through the build, 
I've bumped into various issues. I'm happy to document them in java/README.md 
or make any other changes that might be helpful to others. I'm pretty 
experienced with Java and Maven, so I think these are not super-obvious, but 
let me know if I'm missing something.A lot of these may be Windows-specific. I 
normally prefer Linux but just got a new laptop and haven't set it up, but this 
experience is giving me a lot of incentive to run screaming back to Linux ;-)
Environment details:- Windows 10- Java 8:openjdk version "1.8.0_282"OpenJDK 
Runtime Environment (AdoptOpenJDK)(build 1.8.0_282-b08)OpenJDK 64-Bit Server VM 
(AdoptOpenJDK)(build 25.282-b08, mixed mode)- Cygwin environment- Maven 3.6.2
Issues encountered thus far:- Build does require Java 8, not "8 or later" as 
stated in java/README.md    There's a reference to sun.misc.Unsafe in 
memory/memory-core/src/main/java/org/apache/arrow/memory/util/MemoryUtil.java 
which of course went away in JDK 9.    I can update the build instructions.- 
The build won't work on Windows because the java/format POM downloads a binary 
flatc executables; when I looked, there was no version for Windows, just Linux 
and OSX. I wound up downloading Visual Studio and building the flatbuffers 
project.- I bumped into what looks like a spurious checkstyle error: it reports 
memory/src/test/java/io/netty/buffer/TestExpandableByteBuf.java having no 
linefeed at the end when it definitely does. I set up Git not to do Windows 
conversions, and I checked with various editors and binary dump utilities. One 
source says that this because I'm running on Windows, checkstyle actually 
expects a CR-LF and throws an error if it doesn't find it! I've worked around 
this by disabling the check.- The one thing that I'm stuck on now is failures 
on jdbc:
[INFO] Results:[INFO][ERROR] Failures:[ERROR]   
JdbcToArrowDataTypesTest.testJdbcToArrowValues:146->testDataSets:209 
expected:<45935000> but was:<74735000>[ERROR]   
JdbcToArrowDataTypesTest.testJdbcToArrowValues:146->testDataSets:213 
expected:<1518439535000> but was:<1518468335000>[ERROR]   
JdbcToArrowDataTypesTest.testJdbcToArrowValues:146->testDataSets:205 
expected:<-365> but was:<-364>[ERROR]   
JdbcToArrowNullTest.testJdbcToArrowValues:123->testDataSets:165->testAllVectorValues:209
 expected:<17574> but was:<17573>[ERROR]   
JdbcToArrowTest.testJdbcToArrowValues:138->testDataSets:206 expected:<17574> 
but was:<17573>[ERROR]   
JdbcToArrowVectorIteratorTest.testJdbcToArrowValuesNoLimit:107->validate:199->assertDateDayVectorValues:277
 expected:<17574> but was:<17573>[ERROR]   
JdbcToArrowVectorIteratorTest.testJdbcToArrowValues:95->validate:199->assertDateDayVectorValues:277
 expected:<17574> but was:<17573>[INFO][ERROR] Tests run: 93, Failures: 7, 
Errors: 0, Skipped: 0
I attached the full build output.Looking more closely at these errors, they 
seem to be due to the timezone difference; for example, the difference between 
74735000 (actual value) and 45935000 (expected) is 2880000, or 8 hours in 
milliseconds, which is the PST timezone offset. I see in the pom.xml that 
user.timezone is set to UTC. I have seen these types of errors in tests before; 
I know there are ways to insulate the test from the user's current timezone but 
maybe someone knows what's going on.
Thanks for any input! 
[INFO] Scanning for projects...
[INFO] 
------------------------------------------------------------------------
[INFO] Detecting the operating system and CPU architecture
[INFO] 
------------------------------------------------------------------------
[INFO] os.detected.name: windows
[INFO] os.detected.arch: x86_64
[INFO] os.detected.version: 10.0
[INFO] os.detected.version.major: 10
[INFO] os.detected.version.minor: 0
[INFO] os.detected.classifier: windows-x86_64
[INFO] 
------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] Arrow JDBC Adapter                                             
    [jar]
[INFO] Arrow Plasma Client                                            
    [jar]
[INFO] Arrow Flight Core                                              
    [jar]
[INFO] Arrow Flight GRPC                                              
    [jar]
[INFO] Arrow AVRO Adapter                                             
    [jar]
[INFO] Arrow Algorithms                                               
    [jar]
[INFO] Arrow Performance Benchmarks                                   
    [jar]
[INFO] 
[INFO] --------------------< 
org.apache.arrow:arrow-jdbc >---------------------
[INFO] Building Arrow JDBC Adapter 4.0.0-SNAPSHOT                 
        [1/7]
[INFO] --------------------------------[ jar 
]---------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:3.0.0:clean 
(default-clean) @ arrow-jdbc ---
[INFO] Deleting C:\projects\arrow\java\adapter\jdbc\target
[INFO] 
[INFO] --- apache-rat-plugin:0.13:check 
(rat-checks) @ arrow-jdbc ---
[INFO] Enabled default license matchers.
[INFO] Will parse SCM ignores for exclusions...
[INFO] Finished adding exclusions from SCM ignore files.
[INFO] 62 implicit excludes (use -debug for more details).
[INFO] 36 explicit excludes (use -debug for more details).
[INFO] 77 resources included (use -debug for more details)
[INFO] Rat check: Summary over all files. Unapproved: 0, unknown: 0, 
generated: 0, approved: 77 licenses.
[INFO] 
[INFO] --- maven-checkstyle-plugin:3.1.0:check 
(validate) @ arrow-jdbc ---
[INFO] Starting audit...
Audit done.
[INFO] 
[INFO] --- git-commit-id-plugin:2.2.2:revision 
(for-jars) @ arrow-jdbc ---
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.5:process 
(process-resource-bundles) @ arrow-jdbc ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources 
(default-resources) @ arrow-jdbc ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory 
C:\projects\arrow\java\adapter\jdbc\src\main\resources
[INFO] Copying 3 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.6.2:compile 
(default-compile) @ arrow-jdbc ---
[INFO] Compiling 28 source files to 
C:\projects\arrow\java\adapter\jdbc\target\classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources 
(default-testResources) @ arrow-jdbc ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 36 resources
[INFO] Copying 3 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.6.2:testCompile 
(default-testCompile) @ arrow-jdbc ---
[INFO] Compiling 12 source files to 
C:\projects\arrow\java\adapter\jdbc\target\test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:3.0.0-M3:test 
(default-test) @ arrow-jdbc ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowCharSetTest
[INFO] Running 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowArrayTest
15:25:45.305 [main] INFO  o.apache.arrow.memory.BaseAllocator - Debug mode 
enabled.
15:25:45.309 [main] INFO  o.a.a.m.DefaultAllocationManagerOption - allocation 
manager type not specified, using netty as the default type
15:25:45.311 [main] INFO  o.apache.arrow.memory.CheckAllocator - Using 
DefaultAllocationManager at 
memory-netty/4.0.0-SNAPSHOT/arrow-memory-netty-4.0.0-SNAPSHOT.jar!/org/apache/arrow/memory/DefaultAllocationManagerFactory.class
15:25:45.365 [main] INFO  o.apache.arrow.memory.BaseAllocator - Debug mode 
enabled.
15:25:45.370 [main] INFO  o.a.a.m.DefaultAllocationManagerOption - allocation 
manager type not specified, using netty as the default type
15:25:45.372 [main] INFO  o.apache.arrow.memory.CheckAllocator - Using 
DefaultAllocationManager at 
memory-netty/4.0.0-SNAPSHOT/arrow-memory-netty-4.0.0-SNAPSHOT.jar!/org/apache/arrow/memory/DefaultAllocationManagerFactory.class
[INFO] Tests run: 3, Failures: 0, Errors: 0, 
Skipped: 0, Time elapsed: 0.532 s - in 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowArrayTest
[INFO] Running 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowDataTypesTest
[INFO] Tests run: 8, Failures: 0, Errors: 0, 
Skipped: 0, Time elapsed: 0.7 s - in 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowCharSetTest
[INFO] Running 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowTimeZoneTest
[INFO] Tests run: 18, Failures: 0, Errors: 0, 
Skipped: 0, Time elapsed: 0.141 s - in 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowTimeZoneTest
[INFO] Running org.apache.arrow.adapter.jdbc.JdbcFieldInfoTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, 
Skipped: 0, Time elapsed: 0 s - in 
org.apache.arrow.adapter.jdbc.JdbcFieldInfoTest
[INFO] Running 
org.apache.arrow.adapter.jdbc.JdbcToArrowConfigTest
[INFO] Tests run: 11, Failures: 0, Errors: 0, 
Skipped: 0, Time elapsed: 0.001 s - in 
org.apache.arrow.adapter.jdbc.JdbcToArrowConfigTest
[ERROR] Tests run: 36, Failures: 
3, Errors: 0, Skipped: 0, Time elapsed: 0.383 s <<< 
FAILURE! - in 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowDataTypesTest
[ERROR] testJdbcToArrowValues[7]  Time elapsed: 0.012 s  <<< FAILURE!
java.lang.AssertionError: expected:<-365> but was:<-364>
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowDataTypesTest.testDataSets(JdbcToArrowDataTypesTest.java:205)
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowDataTypesTest.testJdbcToArrowValues(JdbcToArrowDataTypesTest.java:146)

[ERROR] testJdbcToArrowValues[13]  Time elapsed: 0.007 s  <<< FAILURE!
java.lang.AssertionError: expected:<45935000> but was:<74735000>
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowDataTypesTest.testDataSets(JdbcToArrowDataTypesTest.java:209)
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowDataTypesTest.testJdbcToArrowValues(JdbcToArrowDataTypesTest.java:146)

[ERROR] testJdbcToArrowValues[14]  Time elapsed: 0.007 s  <<< FAILURE!
java.lang.AssertionError: expected:<1518439535000> but was:<1518468335000>
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowDataTypesTest.testDataSets(JdbcToArrowDataTypesTest.java:213)
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowDataTypesTest.testJdbcToArrowValues(JdbcToArrowDataTypesTest.java:146)

[INFO] Running 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowNullTest
[ERROR] Tests run: 6, Failures: 
1, Errors: 0, Skipped: 0, Time elapsed: 0.224 s <<< 
FAILURE! - in org.apache.arrow.adapter.jdbc.h2.JdbcToArrowNullTest
[ERROR] testJdbcToArrowValues[2]  Time elapsed: 0.019 s  <<< FAILURE!
java.lang.AssertionError: expected:<17574> but was:<17573>
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowNullTest.testAllVectorValues(JdbcToArrowNullTest.java:209)
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowNullTest.testDataSets(JdbcToArrowNullTest.java:165)
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowNullTest.testJdbcToArrowValues(JdbcToArrowNullTest.java:123)

[INFO] Running org.apache.arrow.adapter.jdbc.h2.JdbcToArrowTest
[ERROR] Tests run: 3, Failures: 
1, Errors: 0, Skipped: 0, Time elapsed: 3.13 s <<< 
FAILURE! - in org.apache.arrow.adapter.jdbc.h2.JdbcToArrowTest
[ERROR] testJdbcToArrowValues[0]  Time elapsed: 0.02 s  <<< FAILURE!
java.lang.AssertionError: expected:<17574> but was:<17573>
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowTest.testDataSets(JdbcToArrowTest.java:206)
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowTest.testJdbcToArrowValues(JdbcToArrowTest.java:138)

[INFO] Running 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowVectorIteratorTest
[ERROR] Tests run: 6, Failures: 
2, Errors: 0, Skipped: 0, Time elapsed: 3.069 s <<< 
FAILURE! - in 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowVectorIteratorTest
[ERROR] testJdbcToArrowValuesNoLimit[0]  Time elapsed: 0.018 s  <<< 
FAILURE!
java.lang.AssertionError: expected:<17574> but was:<17573>
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowVectorIteratorTest.assertDateDayVectorValues(JdbcToArrowVectorIteratorTest.java:277)
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowVectorIteratorTest.validate(JdbcToArrowVectorIteratorTest.java:199)
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowVectorIteratorTest.testJdbcToArrowValuesNoLimit(JdbcToArrowVectorIteratorTest.java:107)

[ERROR] testJdbcToArrowValues[0]  Time elapsed: 0.067 s  <<< FAILURE!
java.lang.AssertionError: expected:<17574> but was:<17573>
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowVectorIteratorTest.assertDateDayVectorValues(JdbcToArrowVectorIteratorTest.java:277)
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowVectorIteratorTest.validate(JdbcToArrowVectorIteratorTest.java:199)
        at 
org.apache.arrow.adapter.jdbc.h2.JdbcToArrowVectorIteratorTest.testJdbcToArrowValues(JdbcToArrowVectorIteratorTest.java:95)

[INFO] 
[INFO] Results:
[INFO] 
[ERROR] Failures: 
[ERROR]   
JdbcToArrowDataTypesTest.testJdbcToArrowValues:146->testDataSets:209 
expected:<45935000> but was:<74735000>
[ERROR]   
JdbcToArrowDataTypesTest.testJdbcToArrowValues:146->testDataSets:213 
expected:<1518439535000> but was:<1518468335000>
[ERROR]   
JdbcToArrowDataTypesTest.testJdbcToArrowValues:146->testDataSets:205 
expected:<-365> but was:<-364>
[ERROR]   
JdbcToArrowNullTest.testJdbcToArrowValues:123->testDataSets:165->testAllVectorValues:209
 expected:<17574> but was:<17573>
[ERROR]   
JdbcToArrowTest.testJdbcToArrowValues:138->testDataSets:206 expected:<17574> 
but was:<17573>
[ERROR]   
JdbcToArrowVectorIteratorTest.testJdbcToArrowValuesNoLimit:107->validate:199->assertDateDayVectorValues:277
 expected:<17574> but was:<17573>
[ERROR]   
JdbcToArrowVectorIteratorTest.testJdbcToArrowValues:95->validate:199->assertDateDayVectorValues:277
 expected:<17574> but was:<17573>
[INFO] 
[ERROR] Tests run: 93, Failures: 7, Errors: 0, Skipped: 0
[INFO] 
[INFO] 
------------------------------------------------------------------------
[INFO] Reactor Summary for Arrow JDBC Adapter 4.0.0-SNAPSHOT:
[INFO] 
[INFO] Arrow JDBC Adapter ................................. 
FAILURE [ 21.395 s]
[INFO] Arrow Plasma Client ................................ 
SKIPPED
[INFO] Arrow Flight Core .................................. 
SKIPPED
[INFO] Arrow Flight GRPC .................................. 
SKIPPED
[INFO] Arrow AVRO Adapter ................................. 
SKIPPED
[INFO] Arrow Algorithms ................................... 
SKIPPED
[INFO] Arrow Performance Benchmarks ....................... 
SKIPPED
[INFO] 
------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] 
------------------------------------------------------------------------
[INFO] Total time:  21.751 s
[INFO] Finished at: 2021-03-11T15:25:53-08:00
[INFO] 
------------------------------------------------------------------------
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M3:test 
(default-test) on project arrow-jdbc: There are test 
failures.
[ERROR] 
[ERROR] Please refer to 
C:\projects\arrow\java\adapter\jdbc\target\surefire-reports for the individual 
test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, 
[date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with 
the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug 
logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, 
please read the following articles:
[ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Reply via email to