protected internal override ISchemaReader <IGenericRecord> LoadReader(BytesSchemaVersion schemaVersion) { var schemaInfo = GetSchemaInfoByVersion(schemaVersion.Get()); if (schemaInfo != null) { //LOG.info("Load schema reader for version({}), schema is : {}", SchemaUtils.GetStringSchemaVersion(schemaVersion.Get()), schemaInfo); var writerSchema = SchemaUtils.ParseAvroSchema(schemaInfo.SchemaDefinition); var readerSchema = useProvidedSchemaAsReaderSchema ? ReaderSchema : writerSchema; //readerSchema.GetProperty.addProp(GenericAvroSchema.OFFSET_PROP, schemaInfo.Properties.GetOrDefault(GenericAvroSchema.OFFSET_PROP, "0")); return(new GenericAvroReader(writerSchema, readerSchema, schemaVersion.Get())); } else { //LOG.warn("No schema found for version({}), use latest schema : {}", SchemaUtils.getStringSchemaVersion(schemaVersion.get()), this.readerSchema); return(providerSchemaReader); } }