You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Sorabh Hamirwasia (JIRA)" <ji...@apache.org> on 2019/03/20 20:26:00 UTC

[jira] [Created] (DRILL-7125) REFRESH TABLE METADATA fails after upgrade from Drill 1.13.0 to Drill 1.15.0

Sorabh Hamirwasia created DRILL-7125:
----------------------------------------

             Summary: REFRESH TABLE METADATA fails after upgrade from Drill 1.13.0 to Drill 1.15.0
                 Key: DRILL-7125
                 URL: https://issues.apache.org/jira/browse/DRILL-7125
             Project: Apache Drill
          Issue Type: Bug
          Components: Metadata
    Affects Versions: 1.15.0, 1.14.0
            Reporter: Sorabh Hamirwasia
            Assignee: Sorabh Hamirwasia
             Fix For: 1.16.0


REFRESH TABLE METADATA command worked successfully on Drill 1.13.0, however after upgrade Drill 1.15.0 there are errors sometime.
{code:java}
In sqlline logging in as regular user "alice" or Drill process user "admin" gives the same error (permission denied)
If this helps, here's also what I am seeing on sqlline

Error message contains random but valid user's names other than the user (Alice) that logged in to refresh the metadata. Looks like during the refresh metadata drillbits seems to incorrectly try the metadata generation as some random user which obviously does not have write access

2019-03-12 15:27:20,564 [2377cdd9-dd6e-d213-de1a-70b50d3641d7:frag:0:0] INFO  o.a.d.e.w.fragment.FragmentExecutor - 2377cdd9-dd6e-d213-de1a-70b50d3641d7:0:0: State change requested RUNNING --> FINISHED
2019-03-12 15:27:20,564 [2377cdd9-dd6e-d213-de1a-70b50d3641d7:frag:0:0] INFO  o.a.d.e.w.f.FragmentStatusReporter - 2377cdd9-dd6e-d213-de1a-70b50d3641d7:0:0: State to report: FINISHED
2019-03-12 15:27:23,032 [2377cdb3-86cc-438d-8ada-787d2a84df9a:foreman] INFO  o.a.drill.exec.work.foreman.Foreman - Query text for query with id 2377cdb3-86cc-438d-8ada-787d2a84df9a issued by alice: REFRESH TABLE METADATA dfs.root.`/user/alice/logs/hive/warehouse/detail`
2019-03-12 15:27:23,350 [2377cdb3-86cc-438d-8ada-787d2a84df9a:foreman] ERROR o.a.d.e.s.parquet.metadata.Metadata - Failed to read 'file://user/alice/logs/hive/warehouse/detail/.drill.parquet_metadata_directories' metadata file
java.io.IOException: 2879.5854742.1036302960 /user/alice/logs/hive/warehouse/detail/file1/.drill.parquet_metadata (Permission denied)
        at com.mapr.fs.Inode.throwIfFailed(Inode.java:390) ~[maprfs-6.1.0-mapr.jar:na]
        at com.mapr.fs.Inode.flushPages(Inode.java:505) ~[maprfs-6.1.0-mapr.jar:na]
        at com.mapr.fs.Inode.releaseDirty(Inode.java:583) ~[maprfs-6.1.0-mapr.jar:na]
        at com.mapr.fs.MapRFsOutStream.dropCurrentPage(MapRFsOutStream.java:73) ~[maprfs-6.1.0-mapr.jar:na]
        at com.mapr.fs.MapRFsOutStream.write(MapRFsOutStream.java:85) ~[maprfs-6.1.0-mapr.jar:na]
        at com.mapr.fs.MapRFsDataOutputStream.write(MapRFsDataOutputStream.java:39) ~[maprfs-6.1.0-mapr.jar:na]
        at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2085) ~[jackson-core-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.core.json.UTF8JsonGenerator.flush(UTF8JsonGenerator.java:1097) ~[jackson-core-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:2645) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.core.base.GeneratorBase.writeObject(GeneratorBase.java:381) ~[jackson-core-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.core.JsonGenerator.writeObjectField(JsonGenerator.java:1726) ~[jackson-core-2.9.5.jar:2.9.5]
        at org.apache.drill.exec.store.parquet.metadata.Metadata_V3$ColumnMetadata_v3$Serializer.serialize(Metadata_V3.java:448) ~[drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.store.parquet.metadata.Metadata_V3$ColumnMetadata_v3$Serializer.serialize(Metadata_V3.java:417) ~[drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType(BeanSerializerBase.java:604) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1396) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ObjectWriter._configAndWriteValue(ObjectWriter.java:1120) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:950) ~[jackson-databind-2.9.5.jar:2.9.5]
        at org.apache.drill.exec.store.parquet.metadata.Metadata.writeFile(Metadata.java:548) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.store.parquet.metadata.Metadata.createMetaFilesRecursively(Metadata.java:259) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.store.parquet.metadata.Metadata.createMetaFilesRecursively(Metadata.java:225) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.store.parquet.metadata.Metadata.readBlockMeta(Metadata.java:605) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.store.parquet.metadata.Metadata.readMetadataDirs(Metadata.java:179) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.store.parquet.ParquetFormatPlugin$ParquetFormatMatcher.isReadable(ParquetFormatPlugin.java:251) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.create(WorkspaceSchemaFactory.java:615) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.create(WorkspaceSchemaFactory.java:407) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.planner.sql.ExpandingConcurrentMap.getNewEntry(ExpandingConcurrentMap.java:96) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.planner.sql.ExpandingConcurrentMap.get(ExpandingConcurrentMap.java:90) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.getTable(WorkspaceSchemaFactory.java:554) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.calcite.jdbc.SimpleCalciteSchema.getImplicitTable(SimpleCalciteSchema.java:83) [calcite-core-1.17.0-drill-r2.jar:1.17.0-drill-r2]
        at org.apache.calcite.jdbc.CalciteSchema.getTable(CalciteSchema.java:288) [calcite-core-1.17.0-drill-r2.jar:1.17.0-drill-r2]
        at org.apache.calcite.jdbc.CalciteSchema$SchemaPlusImpl.getTable(CalciteSchema.java:648) [calcite-core-1.17.0-drill-r2.jar:1.17.0-drill-r2]
        at org.apache.drill.exec.planner.sql.handlers.RefreshMetadataHandler.getPlan(RefreshMetadataHandler.java:77) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:184) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSqlWorker.java:110) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:76) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:584) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:272) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_152]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_152]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_152]
2019-03-12 15:27:23,446 [2377cdb3-86cc-438d-8ada-787d2a84df9a:foreman] ERROR o.a.d.e.p.s.h.RefreshMetadataHandler - Failed to update metadata for table '/user/alice/logs/hive/warehouse/detail'
java.io.IOException: 2879.5854742.1036302960 /user/alice/logs/hive/warehouse/detail/file1/.drill.parquet_metadata (Permission denied)
        at com.mapr.fs.Inode.throwIfFailed(Inode.java:390) ~[maprfs-6.1.0-mapr.jar:na]
        at com.mapr.fs.Inode.flushPages(Inode.java:505) ~[maprfs-6.1.0-mapr.jar:na]
        at com.mapr.fs.Inode.releaseDirty(Inode.java:583) ~[maprfs-6.1.0-mapr.jar:na]
        at com.mapr.fs.MapRFsOutStream.dropCurrentPage(MapRFsOutStream.java:73) ~[maprfs-6.1.0-mapr.jar:na]
        at com.mapr.fs.MapRFsOutStream.write(MapRFsOutStream.java:85) ~[maprfs-6.1.0-mapr.jar:na]
        at com.mapr.fs.MapRFsDataOutputStream.write(MapRFsDataOutputStream.java:39) ~[maprfs-6.1.0-mapr.jar:na]
        at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2085) ~[jackson-core-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.core.json.UTF8JsonGenerator.flush(UTF8JsonGenerator.java:1097) ~[jackson-core-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:2645) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.core.base.GeneratorBase.writeObject(GeneratorBase.java:381) ~[jackson-core-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.core.JsonGenerator.writeObjectField(JsonGenerator.java:1726) ~[jackson-core-2.9.5.jar:2.9.5]
        at org.apache.drill.exec.store.parquet.metadata.Metadata_V3$ColumnMetadata_v3$Serializer.serialize(Metadata_V3.java:448) ~[drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.store.parquet.metadata.Metadata_V3$ColumnMetadata_v3$Serializer.serialize(Metadata_V3.java:417) ~[drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType(BeanSerializerBase.java:604) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1396) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ObjectWriter._configAndWriteValue(ObjectWriter.java:1120) ~[jackson-databind-2.9.5.jar:2.9.5]
        at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:950) ~[jackson-databind-2.9.5.jar:2.9.5]
        at org.apache.drill.exec.store.parquet.metadata.Metadata.writeFile(Metadata.java:548) ~[drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.store.parquet.metadata.Metadata.createMetaFilesRecursively(Metadata.java:259) ~[drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.store.parquet.metadata.Metadata.createMetaFilesRecursively(Metadata.java:225) ~[drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.store.parquet.metadata.Metadata.createMeta(Metadata.java:111) ~[drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.planner.sql.handlers.RefreshMetadataHandler.getPlan(RefreshMetadataHandler.java:124) ~[drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:184) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSqlWorker.java:110) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:76) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:584) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:272) [drill-java-exec-1.15.0.0-mapr.jar:1.15.0.0-mapr]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_152]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_152]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_152]
2019-03-12 15:27:23,459 [2377cdb3-86cc-438d-8ada-787d2a84df9a:frag:0:0] INFO  o.a.d.e.w.fragment.FragmentExecutor - 2377cdb3-86cc-438d-8ada-787d2a84df9a:0:0: State change requested AWAITING_ALLOCATION --> RUNNING
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)