Hello all, 
I’m working on a format plugin to read syslog data, and have encountered what 
seems to be a bit of a regression (maybe).   The code below is a helper 
function which writes strings from the data.  As of Drill 1.16, the varchar 
holder seems to throw an error if the string you are trying to write is > 256 
characters.  Is there a workaround? 

Thanks!


//Helper function to map strings
private void mapStringField(String name, String value, BaseWriter.MapWriter 
map) {
  if (value == null) {
    return;
  }
  try {
    byte[] bytes = value.getBytes("UTF-8");
    int stringLength = bytes.length;
    this.buffer.setBytes(0, bytes, 0, stringLength);
    map.varChar(name).writeVarChar(0, stringLength, buffer);
  } catch (Exception e) {
    throw UserException
            .dataWriteError()
            .addContext("Could not write string: ")
            .addContext(e.getMessage())
            .build(logger);
  }
}




Reply via email to