Class MeasuredFileIOFactory

java.lang.Object
org.apache.polaris.service.catalog.io.MeasuredFileIOFactory
All Implemented Interfaces:
org.apache.polaris.service.catalog.io.FileIOFactory

@Vetoed public class MeasuredFileIOFactory extends Object implements org.apache.polaris.service.catalog.io.FileIOFactory
A FileIOFactory that measures the number of bytes read, files written, and files deleted. It can inject exceptions at various parts of the IO construction.
  • Field Details

  • Constructor Details

    • MeasuredFileIOFactory

      @Inject public MeasuredFileIOFactory(org.apache.polaris.service.config.RealmEntityManagerFactory realmEntityManagerFactory, org.apache.polaris.core.persistence.MetaStoreManagerFactory metaStoreManagerFactory, org.apache.polaris.core.config.PolarisConfigurationStore configurationStore)
  • Method Details

    • loadFileIO

      public org.apache.iceberg.io.FileIO loadFileIO(@Nonnull org.apache.polaris.core.context.CallContext callContext, @Nonnull String ioImplClassName, @Nonnull Map<String,String> properties, @Nonnull org.apache.iceberg.catalog.TableIdentifier identifier, @Nonnull Set<String> tableLocations, @Nonnull Set<org.apache.polaris.core.storage.PolarisStorageActions> storageActions, @Nonnull org.apache.polaris.core.persistence.PolarisResolvedPathWrapper resolvedEntityPath)
      Specified by:
      loadFileIO in interface org.apache.polaris.service.catalog.io.FileIOFactory
    • getInputBytes

      public long getInputBytes()
    • getNumOutputFiles

      public long getNumOutputFiles()
    • getNumDeletedFiles

      public long getNumDeletedFiles()