Fix omniv2 custom FileFormat extensibility problem #66
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Currently if a custom
FileFormatis given inHandlerParamsto omniv2 handler creation call, thisFileFormatbecomes the only FileFormat for the omni handler. This behavior would make it difficult to deal with situation where we have to ingest many types of inputs using omni schema. (Saying it being difficult not impossible is because we can theoretically use 2 Extensions, each of which uses the same omni handler, but the first one with customFileFormatand second with nil, thus the builtinFileFormats will kick in. Possible, but incredibly ugly.)Instead, omni handler's
HandlerParamsshould allow a list of customFileFormats. During schema probing, we will combine them with the builtinFileFormats, with priority given the custom ones. If oneFileFormataccepts the input then it will be used during ingestion; if not, omni handler will keep on probing the rest of theFileFormats.