2 Replies Latest reply on Feb 13, 2020 3:04 AM by Benjamin Wilhelm

    Problems with multiple java threads accessing the Extract API 2.0

    Benjamin Wilhelm

      I have observed two issues that arise if multiple Java threads access the Extract API 2.0 to write different extracts to different files. To demonstrate the issues I have created a simple Java project which can be found here: GitHub - HedgehogCode/tableau-extract-api-tests: Test tableau extract API access with multiple threads.


      The issues are:

      • An exception about an invalid collation name (But the collation name is set to EN_US):


      Caused by: com.tableausoftware.TableauException: invalid collation name
      at com.tableausoftware.hyperextract.TableDefinition.addColumn(Unknown Source)
      at StresstestExtractAPI.writeHyperFile(StresstestExtractAPI.java:63)
      at StresstestExtractAPI.access$0(StresstestExtractAPI.java:58)
      at StresstestExtractAPI$ExtractWriter.run(StresstestExtractAPI.java:90)
      ... 5 more


      • An error in native code:


      # A fatal error has been detected by the Java Runtime Environment:
      # SIGSEGV (0xb) at pc=0x00007f6ad849a13a, pid=26362, tid=0x00007f6a5ecc0700
      # JRE version: OpenJDK Runtime Environment (8.0_242-b08) (build 1.8.0_242-8u242-b08-0ubuntu3~19.10-b08)
      # Java VM: OpenJDK 64-Bit Server VM (25.242-b08 mixed mode linux-amd64 compressed oops)
      # Problematic frame:
      # [thread 140094836848384 also had an error]
      C [libstdc++.so.6+0xa713a] std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)+0xca
      # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
      # An error report file with more information is saved as:
      # /home/benjamin/eclipse-workspace/tableau-extract-api-tests/hs_err_pid26362.log
      # If you would like to submit a bug report, please visit:
      # http://bugreport.java.com/bugreport/crash.jsp
      # The crash happened outside the Java Virtual Machine in native code.
      # See problematic frame for where to report the bug.


      Both issues happen sometimes but not always. I use Ubuntu 19.10. But I have reports of the first error for Ubuntu 18.04.


      Do I use the Extract API correctly? If I use the API correctly, are the issues known?



      Thank you for your help!


      Benjamin Wilhelm