Uploaded image for project: 'Apache Jena'
  1. Apache Jena
  2. JENA-1302

Intermittent Lucene prepareCommit exception during heavy read/write load

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • Jena 3.3.0
    • Jena 3.8.0
    • Fuseki, TDB, Text
    • None
    • CentOS 7.3 inside VM, 2 cores, OpenJDK 1.8.0_121 (64-bit), 1GB JVM heap, Fuseki running as service

    Description

      (Note: Could not add Fuseki 2.6.0 as affected version although I assume this is a TDB/text rather than Fuseki-related issue.)

      Steps:

      1. Start with plain Fuseki + given configuration (TDB store + lucene text indexing)
      2. Import 1k.ttl
      3. Run lockup.py (same host, mix of multiple parallel updates & single select)

      Result:
      Every now and again one of the update queries fails with a 500 server error which is logged as:
      DatasetGraphText ERROR Exception in prepareCommit: prepareCommit was already called with no corresponding call to commit

      Notes:

      • Not reproducible without fix for JENA-1296 (and discovered during fix verification for said issue)
      • Run with apache-jena-fuseki-2.6.0-20170228.233930-10.tar.gz
      • From cold-start of Fuseki, occurs within 30s of script run
      • Supplied test script required Python 3, rdflib>=4.2.2 & SPARQLWrapper>=1.8.0

      Attachments

        1. visualvm_thread_dump.log
          168 kB
          Vilnis Termanis (Iotic Labs)
        2. prepareCommit_error.tgz
          577 kB
          Vilnis Termanis (Iotic Labs)
        3. netstat.log
          7 kB
          Vilnis Termanis (Iotic Labs)
        4. Jena1302_LuceneCommit.java
          5 kB
          Andy Seaborne

        Issue Links

          Activity

            People

              andy Andy Seaborne
              vtiotic Vilnis Termanis (Iotic Labs)
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: