You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2016/01/12 11:25:19 UTC

svn commit: r1724196 - in /lucene/dev/branches/lucene_solr_5_4: ./ solr/ solr/CHANGES.txt solr/core/ solr/core/src/java/org/apache/solr/util/RecordingJSONParser.java solr/solrj/ solr/solrj/src/test/org/apache/solr/common/util/TestJsonRecordReader.java

Author: jpountz
Date: Tue Jan 12 10:25:19 2016
New Revision: 1724196

URL: http://svn.apache.org/viewvc?rev=1724196&view=rev
Log:
SOLR-7462: AIOOBE in RecordingJSONParser

Modified:
    lucene/dev/branches/lucene_solr_5_4/   (props changed)
    lucene/dev/branches/lucene_solr_5_4/solr/   (props changed)
    lucene/dev/branches/lucene_solr_5_4/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/lucene_solr_5_4/solr/core/   (props changed)
    lucene/dev/branches/lucene_solr_5_4/solr/core/src/java/org/apache/solr/util/RecordingJSONParser.java
    lucene/dev/branches/lucene_solr_5_4/solr/solrj/   (props changed)
    lucene/dev/branches/lucene_solr_5_4/solr/solrj/src/test/org/apache/solr/common/util/TestJsonRecordReader.java

Modified: lucene/dev/branches/lucene_solr_5_4/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_5_4/solr/CHANGES.txt?rev=1724196&r1=1724195&r2=1724196&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_5_4/solr/CHANGES.txt (original)
+++ lucene/dev/branches/lucene_solr_5_4/solr/CHANGES.txt Tue Jan 12 10:25:19 2016
@@ -486,6 +486,9 @@ Bug Fixes
 * SOLR-8422: When authentication enabled, requests fail if sent to a node that doesn't host
   the collection (noble)
 
+* SOLR-7462: AIOOBE in RecordingJSONParser (Scott Dawson, noble)
+
+
 ==================  5.3.1 ==================
 
 Bug Fixes

Modified: lucene/dev/branches/lucene_solr_5_4/solr/core/src/java/org/apache/solr/util/RecordingJSONParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_5_4/solr/core/src/java/org/apache/solr/util/RecordingJSONParser.java?rev=1724196&r1=1724195&r2=1724196&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_5_4/solr/core/src/java/org/apache/solr/util/RecordingJSONParser.java (original)
+++ lucene/dev/branches/lucene_solr_5_4/solr/core/src/java/org/apache/solr/util/RecordingJSONParser.java Tue Jan 12 10:25:19 2016
@@ -57,7 +57,7 @@ public class RecordingJSONParser extends
     position = getPosition();
     // if reading a String , the getStringChars do not return the closing single quote or double quote
     //so, try to capture that
-    if(chars.getArray().length >=chars.getStart()+chars.size()) {
+    if(chars.getArray().length >chars.getStart()+chars.size()) {
       char next = chars.getArray()[chars.getStart() + chars.size()];
       if(next =='"' || next == '\'') {
         recordChar(next);
@@ -76,4 +76,8 @@ public class RecordingJSONParser extends
     if(sb != null) return sb.toString();
     return null;
   }
+
+  public JSONParser.ParseException error(String msg) {
+    return err(msg);
+  }
 }

Modified: lucene/dev/branches/lucene_solr_5_4/solr/solrj/src/test/org/apache/solr/common/util/TestJsonRecordReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_5_4/solr/solrj/src/test/org/apache/solr/common/util/TestJsonRecordReader.java?rev=1724196&r1=1724195&r2=1724196&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_5_4/solr/solrj/src/test/org/apache/solr/common/util/TestJsonRecordReader.java (original)
+++ lucene/dev/branches/lucene_solr_5_4/solr/solrj/src/test/org/apache/solr/common/util/TestJsonRecordReader.java Tue Jan 12 10:25:19 2016
@@ -18,6 +18,7 @@ package org.apache.solr.common.util;
  */
 
 import org.apache.solr.SolrTestCaseJ4;
+import org.apache.solr.util.RecordingJSONParser;
 
 import java.io.IOException;
 import java.io.StringReader;
@@ -254,4 +255,358 @@ public class TestJsonRecordReader extend
       }
     }
   }
+
+  public void testAIOOBE() throws IOException {
+  String json = "[   {\n" +
+      "      \"taxon_group\" : {\n" +
+      "         \"identifiers\" : {\n" +
+      "            \"bioentry_id\" : 1876284,\n" +
+      "            \"namespace\" : \"NCBI\",\n" +
+      "            \"primary_id\" : \"AAAAA_ID_19303\",\n" +
+      "            \"version\" : null,\n" +
+      "            \"name\" : \"AAAAA_ID_19303\",\n" +
+      "            \"description\" : \"Taxon group for NCBI taxon 1286265\",\n" +
+      "            \"accession\" : \"AAAAA_ID_19303\"\n" +
+      "         },\n" +
+      "         \"source\" : [\n" +
+      "            {\n" +
+      "               \"ID\" : \"AAAAA_ID_19303_0\",\n" +
+      "               \"segment_group_serotype\" : \"H3\",\n" +
+      "               \"primary_key\" : 11877892,\n" +
+      "               \"name\" : \"segment_group\",\n" +
+      "               \"segment_group_NA_subtype\" : \"\",\n" +
+      "               \"segmentgroup_sequence_count\" : \"1\",\n" +
+      "               \"source_tag\" : \"EMBL/GenBank/SwissProt\",\n" +
+      "               \"segment_group_submitter_lab\" : \"Microbiology, Faculty of Medicine Sebelas Maret University, Jl. Ir. Sutami 36A, Surakarta, Jawa Tengah 57126, Indonesia\",\n" +
+      "               \"strand\" : \"1\",\n" +
+      "               \"segment_group_submission_date\" : \"22-JAN-2013\",\n" +
+      "               \"segment_group_HA_subtype\" : \"H3\",\n" +
+      "               \"start-end\" : \"1..260\"\n" +
+      "            },\n" +
+      "            {\n" +
+      "               \"taxon_group_serotype\" : \"H3\",\n" +
+      "               \"taxon_group_sequence_count\" : \"1\",\n" +
+      "               \"ID\" : \"AAAAA_ID_19303\",\n" +
+      "               \"primary_key\" : 11877893,\n" +
+      "               \"name\" : \"source\",\n" +
+      "               \"db_xref\" : [\n" +
+      "                  \"taxon:1286265\"\n" +
+      "               ],\n" +
+      "               \"taxon_group_HA_subtype\" : \"H3\",\n" +
+      "               \"taxon_group_segment_group_count\" : \"1\",\n" +
+      "               \"source_tag\" : \"EMBL/GenBank/SwissProt\",\n" +
+      "               \"strand\" : \"1\",\n" +
+      "               \"taxon_group_NA_subtype\" : \"\",\n" +
+      "               \"start-end\" : \"1..260\"\n" +
+      "            }\n" +
+      "         ],\n" +
+      "         \"segment_groups\" : [\n" +
+      "            {\n" +
+      "               \"identifiers\" : {\n" +
+      "                  \"bioentry_id\" : 1876283,\n" +
+      "                  \"namespace\" : \"NCBI\",\n" +
+      "                  \"primary_id\" : \"AAAAA_ID_19303_0\",\n" +
+      "                  \"version\" : null,\n" +
+      "                  \"name\" : \"AAAAA_ID_19303_0\",\n" +
+      "                  \"description\" : \"Segment group 0 for AAAAA_ID_19303 (NCBI taxon 1286265)\",\n" +
+      "                  \"accession\" : \"AAAAA_ID_19303_0\"\n" +
+      "               },\n" +
+      "               \"source\" : [\n" +
+      "                  {\n" +
+      "                     \"ID\" : \"KC513508\",\n" +
+      "                     \"primary_key\" : 22483564,\n" +
+      "                     \"nucleotide_gi\" : \"451898947\",\n" +
+      "                     \"name\" : \"gene\",\n" +
+      "                     \"HA_subtype\" : \"H3\",\n" +
+      "                     \"segment\" : \"4\",\n" +
+      "                     \"collection_date\" : \"22-Mar-2010\",\n" +
+      "                     \"NA_subtype\" : \"N2\",\n" +
+      "                     \"subtype\" : \"H3\",\n" +
+      "                     \"source_tag\" : \"EMBL/GenBank/SwissProt\",\n" +
+      "                     \"standardized_collection_date\" : \"2010-03-22T00:00:00Z\",\n" +
+      "                     \"segment_name\" : \"HA\",\n" +
+      "                     \"strand\" : \"1\",\n" +
+      "                     \"serotype\" : \"H3N2\",\n" +
+      "                     \"ncbi_accession\" : \"KC513508\",\n" +
+      "                     \"start-end\" : \"1..260\"\n" +
+      "                  },\n" +
+      "                  {\n" +
+      "                     \"mol_type\" : \"viral cRNA\",\n" +
+      "                     \"taxonomy_strain\" : \"A/Surakarta/1/2010\",\n" +
+      "                     \"identified_by\" : \"Afiono Agung Prasetyo\",\n" +
+      "                     \"HA_subtype\" : \"H3\",\n" +
+      "                     \"collection_date\" : \"22-Mar-2010\",\n" +
+      "                     \"standardized_collection_date\" : \"2010-03-22T00:00:00Z\",\n" +
+      "                     \"strand\" : \"1\",\n" +
+      "                     \"serotype\" : \"H3N2\",\n" +
+      "                     \"organism\" : \"Influenza A virus (A/Surakarta/1/2010(H3N2))\",\n" +
+      "                     \"country\" : \"Indonesia\",\n" +
+      "                     \"primary_key\" : 22483566,\n" +
+      "                     \"isolation_source\" : \"nasal and throat swab\",\n" +
+      "                     \"collected_by\" : \"Afiono Agung Prasetyo\",\n" +
+      "                     \"name\" : \"source\",\n" +
+      "                     \"flu_type\" : \"A\",\n" +
+      "                     \"host\" : \"Homo sapiens\",\n" +
+      "                     \"db_xref\" : [\n" +
+      "                        \"taxon:1286265\"\n" +
+      "                     ],\n" +
+      "                     \"NA_subtype\" : \"N2\",\n" +
+      "                     \"strain\" : \"A/Surakarta/1/2010\",\n" +
+      "                     \"source_tag\" : \"EMBL/GenBank/SwissProt\",\n" +
+      "                     \"start-end\" : \"1..260\"\n" +
+      "                  },\n" +
+      "                  {\n" +
+      "                     \"primary_key\" : 22483572,\n" +
+      "                     \"name\" : \"standard_host\",\n" +
+      "                     \"Host_NCBI_taxon_id\" : \"9605\",\n" +
+      "                     \"curation_status_code\" : \"150\",\n" +
+      "                     \"curation_date\" : \"2015-01-12\",\n" +
+      "                     \"program_version\" : \"v1.1.7\",\n" +
+      "                     \"source_tag\" : \"parse_host_v1\",\n" +
+      "                     \"strand\" : \"1\",\n" +
+      "                     \"curation_status_message\" : \"success, archive and add on next major program revision\",\n" +
+      "                     \"start-end\" : \"1..260\",\n" +
+      "                     \"curation_status\" : \"true\"\n" +
+      "                  },\n" +
+      "                  {\n" +
+      "                     \"primary_key\" : 22483576,\n" +
+      "                     \"Location_Lat_Long\" : \"-0.7892749906,113.9213256836\",\n" +
+      "                     \"name\" : \"standardized_location\",\n" +
+      "                     \"Location_Country_Alpha2\" : \"ID\",\n" +
+      "                     \"curation_status_code\" : \"150\",\n" +
+      "                     \"curation_date\" : \"2015-01-15\",\n" +
+      "                     \"program_version\" : \"v0.1\",\n" +
+      "                     \"source_tag\" : \"xxxxx_parse_location_v0\",\n" +
+      "                     \"strand\" : \"1\",\n" +
+      "                     \"curation_status_message\" : \"success, archive and add on next major program revision\",\n" +
+      "                     \"start-end\" : 1,\n" +
+      "                     \"curation_status\" : \"true\"\n" +
+      "                  }\n" +
+      "               ],\n" +
+      "               \"sequence\" : {\n" +
+      "                  \"string\" : \"CCCTTATGATGTGCCGGATTATGCCTCCCTTAGGTCACTAGTTGCCTCATCCGGCACACTGGAGTTTAACAGTGAAAGCTTCAATTGGACTGGAGTCACTCAAAACGGAACAAGCTCTGCTTGCATAAGGAGATCTAATAATAGTTTCTTTAGTAGATTGAATTGGTTGACCCACTTAAACTTCAAATACCCAGCATTGAACGTGACTATGCCAAACAATGAACAATTTGACAAATTGTACATTTGGGGGGTTCACCACC\"\n" +
+      "               },\n" +
+      "               \"references\" : [\n" +
+      "                  {\n" +
+      "                     \"authors\" : \"Prasetyo,A.A.\",\n" +
+      "                     \"location\" : \"Unpublished\",\n" +
+      "                     \"title\" : \"Molecular Epidemiology Study of Human Respiratory Virus in Surakarta Indonesia\"\n" +
+      "                  },\n" +
+      "                  {\n" +
+      "                     \"authors\" : \"Prasetyo,A.A.\",\n" +
+      "                     \"location\" : \"Submitted (22-JAN-2013) Microbiology, Faculty of Medicine Sebelas Maret University, Jl. Ir. Sutami 36A, Surakarta, Jawa Tengah 57126, Indonesia\",\n" +
+      "                     \"title\" : \"Direct Submission\"\n" +
+      "                  }\n" +
+      "               ],\n" +
+      "               \"name\" : \"AAAAA_ID_19303_0\",\n" +
+      "               \"segments\" : [\n" +
+      "                  {\n" +
+      "                     \"identifiers\" : {\n" +
+      "                        \"bioentry_id\" : 1588885,\n" +
+      "                        \"namespace\" : \"NCBI\",\n" +
+      "                        \"primary_id\" : \"KC513508\",\n" +
+      "                        \"version\" : 1,\n" +
+      "                        \"name\" : \"KC513508\",\n" +
+      "                        \"description\" : \"Influenza A virus (A/Surakarta/1/2010(H3N2)) segment 4 hemagglutinin (HA) gene, partial cds.\",\n" +
+      "                        \"accession\" : \"KC513508\"\n" +
+      "                     },\n" +
+      "                     \"source\" : [\n" +
+      "                        {\n" +
+      "                           \"mol_type\" : \"viral cRNA\",\n" +
+      "                           \"identified_by\" : \"Afiono Agung Prasetyo\",\n" +
+      "                           \"HA_subtype\" : \"H3\",\n" +
+      "                           \"segment\" : \"4\",\n" +
+      "                           \"collection_date\" : \"22-Mar-2010\",\n" +
+      "                           \"strand\" : \"1\",\n" +
+      "                           \"serotype\" : \"H3N2\",\n" +
+      "                           \"organism\" : \"Influenza A virus (A/Surakarta/1/2010(H3N2))\",\n" +
+      "                           \"country\" : \"Indonesia\",\n" +
+      "                           \"primary_key\" : 22511042,\n" +
+      "                           \"isolation_source\" : \"nasal and throat swab\",\n" +
+      "                           \"collected_by\" : \"Afiono Agung Prasetyo\",\n" +
+      "                           \"name\" : \"source\",\n" +
+      "                           \"host\" : \"Homo sapiens\",\n" +
+      "                           \"NA_subtype\" : \"N2\",\n" +
+      "                           \"db_xref\" : [\n" +
+      "                              \"taxon:1286265\"\n" +
+      "                           ],\n" +
+      "                           \"strain\" : \"A/Surakarta/1/2010\",\n" +
+      "                           \"source_tag\" : \"EMBL/GenBank/SwissProt\",\n" +
+      "                           \"start-end\" : \"1..260\"\n" +
+      "                        },\n" +
+      "                        {\n" +
+      "                           \"primary_key\" : 22511045,\n" +
+      "                           \"source_tag\" : \"EMBL/GenBank/SwissProt\",\n" +
+      "                           \"gene\" : \"HA\",\n" +
+      "                           \"strand\" : \"1\",\n" +
+      "                           \"name\" : \"gene\",\n" +
+      "                           \"start-end\" : \"1..260\"\n" +
+      "                        },\n" +
+      "                        {\n" +
+      "                           \"primary_key\" : 22511046,\n" +
+      "                           \"protein_id\" : \"AGF80141.1\",\n" +
+      "                           \"gene\" : \"HA\",\n" +
+      "                           \"name\" : \"CDS\",\n" +
+      "                           \"db_xref\" : [\n" +
+      "                              \"GI:451898948\"\n" +
+      "                           ],\n" +
+      "                           \"codon_start\" : \"2\",\n" +
+      "                           \"source_tag\" : \"EMBL/GenBank/SwissProt\",\n" +
+      "                           \"strand\" : \"1\",\n" +
+      "                           \"translation\" : \"PYDVPDYASLRSLVASSGTLEFNSESFNWTGVTQNGTSSACIRRSNNSFFSRLNWLTHLNFKYPALNVTMPNNEQFDKLYIWGVHH\",\n" +
+      "                           \"product\" : \"hemagglutinin\",\n" +
+      "                           \"start-end\" : \"1..260\"\n" +
+      "                        },\n" +
+      "                        {\n" +
+      "                           \"primary_key\" : 22511053,\n" +
+      "                           \"name\" : \"asdf_typing\",\n" +
+      "                           \"segment\" : \"4\",\n" +
+      "                           \"flu_type\" : \"A\",\n" +
+      "                           \"bitscore\" : \"277.3\",\n" +
+      "                           \"full_lineage\" : \"X_XX_XX_XxxxxXxxxx\",\n" +
+      "                           \"lineage\" : \"AAAAAAAAAA\",\n" +
+      "                           \"curation_date\" : \"2015-01-07\",\n" +
+      "                           \"subtype\" : \"H3\",\n" +
+      "                           \"program_version\" : \"v2.8.2\",\n" +
+      "                           \"source_tag\" : \"some_text_some\",\n" +
+      "                           \"Evalue\" : \"4.6e-85\",\n" +
+      "                           \"segment_name\" : \"HA\",\n" +
+      "                           \"strand\" : \"1\",\n" +
+      "                           \"start-end\" : \"1..260\",\n" +
+      "                           \"curation_status\" : \"true\"\n" +
+      "                        },\n" +
+      "                        {\n" +
+      "                           \"bitscore\" : \"464\",\n" +
+      "                           \"subj_location\" : \"342..601\",\n" +
+      "                           \"slen\" : \"1701\",\n" +
+      "                           \"sseqid\" : \"someID_someID_some\",\n" +
+      "                           \"mismatch\" : \"3\",\n" +
+      "                           \"strand\" : \"1\",\n" +
+      "                           \"qcovs\" : \"100\",\n" +
+      "                           \"qlen\" : \"260\",\n" +
+      "                           \"qcovhsp\" : \"100\",\n" +
+      "                           \"primary_key\" : 22511048,\n" +
+      "                           \"pident\" : \"98.85\",\n" +
+      "                           \"name\" : \"segtypeAlign\",\n" +
+      "                           \"qseqid\" : \"KC513508\",\n" +
+      "                           \"gaps\" : \"0\",\n" +
+      "                           \"curation_date\" : \"2015-01-15\",\n" +
+      "                           \"typing\" : \"A_HA_H3\",\n" +
+      "                           \"length\" : \"260\",\n" +
+      "                           \"evalue\" : \"2e-132\",\n" +
+      "                           \"source_tag\" : \"asdf_asdf_asdfv1\",\n" +
+      "                           \"program_version\" : \"v1.1.2\",\n" +
+      "                           \"curation_status\" : \"true\",\n" +
+      "                           \"start-end\" : \"1..260\",\n" +
+      "                           \"gapopen\" : \"0\"\n" +
+      "                        },\n" +
+      "                        {\n" +
+      "                           \"primary_key\" : 22511060,\n" +
+      "                           \"name\" : \"standard_host\",\n" +
+      "                           \"Host_NCBI_taxon_id\" : \"9605\",\n" +
+      "                           \"curation_status_code\" : \"150\",\n" +
+      "                           \"curation_date\" : \"2015-01-12\",\n" +
+      "                           \"program_version\" : \"v1.1.7\",\n" +
+      "                           \"source_tag\" : \"parse_host_v1\",\n" +
+      "                           \"strand\" : \"1\",\n" +
+      "                           \"curation_status_message\" : \"success, archive and add on next major program revision\",\n" +
+      "                           \"start-end\" : \"1..260\",\n" +
+      "                           \"curation_status\" : \"true\"\n" +
+      "                        },\n" +
+      "                        {\n" +
+      "                           \"primary_key\" : 22511052,\n" +
+      "                           \"name\" : \"flu_segtype\",\n" +
+      "                           \"flu_type\" : \"A\",\n" +
+      "                           \"curation_date\" : \"2015-01-15\",\n" +
+      "                           \"subtype\" : \"H3\",\n" +
+      "                           \"program_version\" : \"v1.1.2\",\n" +
+      "                           \"source_tag\" : \"asdf_asdf_asd_v1\",\n" +
+      "                           \"strand\" : \"1\",\n" +
+      "                           \"segtype\" : \"HA\",\n" +
+      "                           \"start-end\" : \"1..260\",\n" +
+      "                           \"curation_status\" : \"true\"\n" +
+      "                        },\n" +
+      "                        {\n" +
+      "                           \"primary_key\" : 22511056,\n" +
+      "                           \"prot_coord\" : \"115..87\",\n" +
+      "                           \"name\" : \"exon\",\n" +
+      "                           \"curation_date\" : \"2015-01-07\",\n" +
+      "                           \"source_tag\" : \"asdf_asdfas_v2\",\n" +
+      "                           \"program_version\" : \"v2.8.2\",\n" +
+      "                           \"strand\" : \"1\",\n" +
+      "                           \"start-end\" : \"2..259\",\n" +
+      "                           \"curation_status\" : \"true\"\n" +
+      "                        },\n" +
+      "                        {\n" +
+      "                           \"nstart\" : \"2\",\n" +
+      "                           \"primary_key\" : 22511058,\n" +
+      "                           \"pend\" : \"200\",\n" +
+      "                           \"aaseq\" : \"PYDVPDYASLRSLVASSGTLEFNSESFNWTGVTQNGTSSACIRRSNNSFFSRLNWLTHLNFKYPALNVTMPNNEQFDKLYIWGVHH\",\n" +
+      "                           \"p_pc_coverage\" : \"15.19\",\n" +
+      "                           \"name\" : \"CDS\",\n" +
+      "                           \"score\" : \"461\",\n" +
+      "                           \"nend\" : \"259\",\n" +
+      "                           \"curation_date\" : \"2015-01-07\",\n" +
+      "                           \"program_version\" : \"v2.8.2\",\n" +
+      "                           \"source_tag\" : \"asdf_asdfas_v2\",\n" +
+      "                           \"strand\" : \"1\",\n" +
+      "                           \"product\" : \"A_HA_H3\",\n" +
+      "                           \"ntlength\" : \"258\",\n" +
+      "                           \"start-end\" : \"1..260\",\n" +
+      "                           \"curation_status\" : \"true\",\n" +
+      "                           \"pstart\" : \"115\"\n" +
+      "                        },\n" +
+      "                        {\n" +
+      "                           \"primary_key\" : 22511062,\n" +
+      "                           \"Location_Lat_Long\" : \"-0.7892749906,113.9213256836\",\n" +
+      "                           \"name\" : \"standardized_location\",\n" +
+      "                           \"Location_Country_Alpha2\" : \"ID\",\n" +
+      "                           \"curation_status_code\" : \"150\",\n" +
+      "                           \"curation_date\" : \"2015-01-15\",\n" +
+      "                           \"program_version\" : \"v0.1\",\n" +
+      "                           \"source_tag\" : \"asdf_asdf_asdf_asdfn_v0\",\n" +
+      "                           \"strand\" : \"1\",\n" +
+      "                           \"curation_status_message\" : \"success, archive and add on next major program revision\",\n" +
+      "                           \"start-end\" : 1,\n" +
+      "                           \"curation_status\" : \"true\"\n" +
+      "                        }\n" +
+      "                     ],\n" +
+      "                     \"sequence\" : {\n" +
+      "                        \"length\" : 260,\n" +
+      "                        \"string\" : \"CCCTTATGATGTGCCGGATTATGCCTCCCTTAGGTCACTAGTTGCCTCATCCGGCACACTGGAGTTTAACAGTGAAAGCTTCAATTGGACTGGAGTCACTCAAAACGGAACAAGCTCTGCTTGCATAAGGAGATCTAATAATAGTTTCTTTAGTAGATTGAATTGGTTGACCCACTTAAACTTCAAATACCCAGCATTGAACGTGACTATGCCAAACAATGAACAATTTGACAAATTGTACATTTGGGGGGTTCACCACC\"\n" +
+      "                     },\n" +
+      "                     \"name\" : \"KC513508\",\n" +
+      "                     \"annotations\" : {\n" +
+      "                        \"keyword\" : \"\",\n" +
+      "                        \"curation_date\" : \"2015-01-03\",\n" +
+      "                        \"comment\" : [\n" +
+      "                           \"##Assembly-Data-START## Assembly Method :: CLC Main Workbench v. 6.8 Sequencing Technology :: Sanger dideoxy1 sequencing ##Assembly-Data-END## \"\n" +
+      "                        ],\n" +
+      "                        \"date_changed\" : \"25-FEB-2013\",\n" +
+      "                        \"curation_status\" : \"false\"\n" +
+      "                     }\n" +
+      "                  }\n" +
+      "               ],\n" +
+      "               \"annotations\" : {\n" +
+      "                  \"keyword\" : \"\",\n" +
+      "                  \"curation_date\" : \"2015-01-05\",\n" +
+      "                  \"comment\" : [\n" +
+      "                     \"##Assembly-Data-START## Assembly Method :: CLC Main Workbench v. 6.8 Sequencing Technology :: Sanger dideoxy sequencing ##Assembly-Data-END## \"\n" +
+      "                  ]\n" +
+      "               }}]}}]";
+
+    RecordingJSONParser parser = new RecordingJSONParser(new StringReader(json));
+    JsonRecordReader recordReader = JsonRecordReader.getInst("/",Collections.singletonList("/**"));
+    try {
+      recordReader.streamRecords(parser, new JsonRecordReader.Handler() {
+        @Override
+        public void handle(Map<String, Object> record, String path) {
+          /*don't care*/
+        }
+      });
+    } catch (RuntimeException e) {
+      parser.error("").printStackTrace();
+      throw e;
+    }
+  }
 }