Uploaded image for project: 'Apache Avro'
  1. Apache Avro
  2. AVRO-1206

utf-8 serialisation problems

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.7.2
    • 1.7.3
    • ruby
    • None
    • ruby-1.9.3p194, avro gem 1.7.2.

    • Hide
      exemple to redo the error :
      require 'avro'
      schema_json = <<-JSON
      {
        "type": "record",
        "name": "Activities",
        "fields" : [
          {"name": "params", "type": ["string","null"]}
      ]
      }
      JSON

      schema = Avro::Schema.parse(schema_json)
      writer = Avro::IO::DatumWriter.new(schema)
      fname = "test.avr"

      puts "writing to #{fname}"
      file = File.open(fname, 'wb')
      dw = Avro::DataFile::Writer.new(file, writer, schema)

      # don't work when reading !
      dw << {"params" => "家"}
      # don't work too
      #dw << {"params" => "("}
      dw.close


      puts "reading"
      Avro::DataFile.open(fname, 'r') do |dr|
        dr.each {|a|
          puts a["params"]
        }
      end
      Show
      exemple to redo the error : require 'avro' schema_json = <<-JSON {   "type": "record",   "name": "Activities",   "fields" : [     {"name": "params", "type": ["string","null"]} ] } JSON schema = Avro::Schema.parse(schema_json) writer = Avro::IO::DatumWriter.new(schema) fname = "test.avr" puts "writing to #{fname}" file = File.open(fname, 'wb') dw = Avro::DataFile::Writer.new(file, writer, schema) # don't work when reading ! dw << {"params" => "家"} # don't work too #dw << {"params" => "("} dw.close puts "reading" Avro::DataFile.open(fname, 'r') do |dr|   dr.each {|a|     puts a["params"]   } end
    • utf-8 ruby avro

    Description

      some serialized utf-8 characters like "家" cannot be read latter, avro break with
      /gems/ruby-1.9.3-p194/gems/avro-1.7.2/lib/avro/io.rb:230:in `match_schemas': undefined method `type' for nil:NilClass (NoMethodError)
      from /home/Tophe/.rvm/gems/ruby-1.9.3-p194/gems/avro-1.7.2/lib/avro/io.rb:288:in `read_data'
      from /home/Tophe/.rvm/gems/ruby-1.9.3-p194/gems/avro-1.7.2/lib/avro/io.rb:384:in `read_union'
      from /home/Tophe/.rvm/gems/ruby-1.9.3-p194/gems/avro-1.7.2/lib/avro/io.rb:317:in `read_data'
      from /home/Tophe/.rvm/gems/ruby-1.9.3-p194/gems/avro-1.7.2/lib/avro/io.rb:392:in `block in read_record'
      from /home/Tophe/.rvm/gems/ruby-1.9.3-p194/gems/avro-1.7.2/lib/avro/io.rb:390:in `each'
      from /home/Tophe/.rvm/gems/ruby-1.9.3-p194/gems/avro-1.7.2/lib/avro/io.rb:390:in `read_record'
      from /home/Tophe/.rvm/gems/ruby-1.9.3-p194/gems/avro-1.7.2/lib/avro/io.rb:318:in `read_data'
      from /home/Tophe/.rvm/gems/ruby-1.9.3-p194/gems/avro-1.7.2/lib/avro/io.rb:283:in `read'
      from /home/Tophe/.rvm/gems/ruby-1.9.3-p194/gems/avro-1.7.2/lib/avro/data_file.rb:223:in `block in each'
      from /home/Tophe/.rvm/gems/ruby-1.9.3-p194/gems/avro-1.7.2/lib/avro/data_file.rb:211:in `loop'
      from /home/Tophe/.rvm/gems/ruby-1.9.3-p194/gems/avro-1.7.2/lib/avro/data_file.rb:211:in `each'
      from avr_err_example.rb:42:in `block in <main>'

      Attachments

        1. AVRO-1206.patch
          2 kB
          Doug Cutting

        Issue Links

          Activity

            People

              Unassigned Unassigned
              cvigny Tophe Vigny
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: