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)

Reply via email to