[ 
https://issues.apache.org/jira/browse/IMPALA-9122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16982775#comment-16982775
 ] 

Vihang Karajgaonkar commented on IMPALA-9122:
---------------------------------------------

Took a look at the logs. The test fails because event processor goes into a 
error state after receiving this exception from the FileMetadataLoader

{noformat}
E1126 01:59:37.307276 46863 ParallelFileMetadataLoader.java:102] Refreshing 
file and block metadata for 1 paths for table test_db.tbl_insert_part 
encountered an error loading data for path 
hdfs://localhost:20500/test-warehouse/test_db.db/tbl_insert_part/day=28/month=3/year=2019
Java exception follows:
java.util.concurrent.ExecutionException: java.io.FileNotFoundException: File 
hdfs://localhost:20500/test-warehouse/test_db.db/tbl_insert_part/day=28/month=3/year=2019/.hive-staging_hive_2019-11-26_01-59-35_788_4342075643583311236-2
 does not exist.
  at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  at 
org.apache.impala.catalog.ParallelFileMetadataLoader.load(ParallelFileMetadataLoader.java:99)
  at 
org.apache.impala.catalog.HdfsTable.loadFileMetadataForPartitions(HdfsTable.java:653)
  at org.apache.impala.catalog.HdfsTable.reloadPartition(HdfsTable.java:2014)
  at 
org.apache.impala.catalog.CatalogServiceCatalog.reloadPartition(CatalogServiceCatalog.java:2592)
  at 
org.apache.impala.catalog.CatalogServiceCatalog.reloadPartitionIfExists(CatalogServiceCatalog.java:2225)
  at 
org.apache.impala.catalog.events.MetastoreEvents$InsertEvent.processPartitionInserts(MetastoreEvents.java:818)
  at 
org.apache.impala.catalog.events.MetastoreEvents$InsertEvent.process(MetastoreEvents.java:800)
  at 
org.apache.impala.catalog.events.MetastoreEvents$MetastoreEvent.processIfEnabled(MetastoreEvents.java:330)
  at 
org.apache.impala.catalog.events.MetastoreEventsProcessor.processEvents(MetastoreEventsProcessor.java:609)
  at 
org.apache.impala.catalog.events.MetastoreEventsProcessor.processEvents(MetastoreEventsProcessor.java:511)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
  at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
  at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
  at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
  at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.FileNotFoundException: File 
hdfs://localhost:20500/test-warehouse/test_db.db/tbl_insert_part/day=28/month=3/year=2019/.hive-staging_hive_2019-11-26_01-59-35_788_4342075643583311236-2
 does not exist.
  at 
org.apache.hadoop.hdfs.DistributedFileSystem$DirListingIterator.<init>(DistributedFileSystem.java:1149)
  at 
org.apache.hadoop.hdfs.DistributedFileSystem$DirListingIterator.<init>(DistributedFileSystem.java:1156)
  at 
org.apache.hadoop.hdfs.DistributedFileSystem$DirListingIterator.<init>(DistributedFileSystem.java:1127)
  at 
org.apache.hadoop.hdfs.DistributedFileSystem$26.doCall(DistributedFileSystem.java:1106)
  at 
org.apache.hadoop.hdfs.DistributedFileSystem$26.doCall(DistributedFileSystem.java:1102)
  at 
org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
  at 
org.apache.hadoop.hdfs.DistributedFileSystem.listStatusIterator(DistributedFileSystem.java:1114)
  at 
org.apache.impala.common.FileSystemUtil$RecursingIterator.handleFileStat(FileSystemUtil.java:751)
  at 
org.apache.impala.common.FileSystemUtil$RecursingIterator.hasNext(FileSystemUtil.java:724)
  at 
org.apache.impala.common.FileSystemUtil$FilterIterator.hasNext(FileSystemUtil.java:679)
  at 
org.apache.impala.catalog.FileMetadataLoader.load(FileMetadataLoader.java:176)
  at 
org.apache.impala.catalog.ParallelFileMetadataLoader.lambda$load$0(ParallelFileMetadataLoader.java:93)
  at 
org.apache.impala.catalog.ParallelFileMetadataLoader.lambda$load$0(ParallelFileMetadataLoader.java:93)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at 
com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:293)
  at 
com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:61)
  at 
com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:45)
  at 
org.apache.impala.catalog.ParallelFileMetadataLoader.load(ParallelFileMetadataLoader.java:93)
  ... 16 more
E1126 01:59:37.308281 46863 MetastoreEventsProcessor.java:519] Event processing 
needs a invalidate command to resolve the state
Java exception follows:
org.apache.impala.catalog.events.MetastoreNotificationNeedsInvalidateException: 
EventId: 19303 EventType: INSERT Refresh partition on table {} partition {} 
failed. Event processing cannot continue. Issue and invalidate command to reset 
the event processor state.
  at 
org.apache.impala.catalog.events.MetastoreEvents$InsertEvent.processPartitionInserts(MetastoreEvents.java:834)
  at 
org.apache.impala.catalog.events.MetastoreEvents$InsertEvent.process(MetastoreEvents.java:800)
  at 
org.apache.impala.catalog.events.MetastoreEvents$MetastoreEvent.processIfEnabled(MetastoreEvents.java:330)
  at 
org.apache.impala.catalog.events.MetastoreEventsProcessor.processEvents(MetastoreEventsProcessor.java:609)
  at 
org.apache.impala.catalog.events.MetastoreEventsProcessor.processEvents(MetastoreEventsProcessor.java:511)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
  at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
  at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
  at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
  at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.impala.catalog.TableLoadingException: Refreshing file and 
block metadata for 1 paths for table test_db.tbl_insert_part: failed to load 1 
paths. Check the catalog server log for more details.
  at 
org.apache.impala.catalog.ParallelFileMetadataLoader.load(ParallelFileMetadataLoader.java:116)
  at 
org.apache.impala.catalog.HdfsTable.loadFileMetadataForPartitions(HdfsTable.java:653)
  at org.apache.impala.catalog.HdfsTable.reloadPartition(HdfsTable.java:2014)
  at 
org.apache.impala.catalog.CatalogServiceCatalog.reloadPartition(CatalogServiceCatalog.java:2592)
  at 
org.apache.impala.catalog.CatalogServiceCatalog.reloadPartitionIfExists(CatalogServiceCatalog.java:2225)
  at 
org.apache.impala.catalog.events.MetastoreEvents$InsertEvent.processPartitionInserts(MetastoreEvents.java:818)
  ... 11 more
{noformat}

As the trace shows above the exception comes from 
{{org.apache.hadoop.hdfs.DistributedFileSystem.listStatusIterator}} hive 
deletes the intermediate directories after the query completes while the 
catalog is trying to load the directories. 

I think in such cases it is safe to ignore these exceptions in catalog and let 
the loading continue.

> TestEventProcessing.test_insert_events flaky in precommit
> ---------------------------------------------------------
>
>                 Key: IMPALA-9122
>                 URL: https://issues.apache.org/jira/browse/IMPALA-9122
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Infrastructure
>            Reporter: Tim Armstrong
>            Assignee: Anurag Mantripragada
>            Priority: Critical
>              Labels: broken-build, flaky
>
> https://jenkins.impala.io/job/ubuntu-16.04-from-scratch/8613/
> {noformat}
> custom_cluster.test_event_processing.TestEventProcessing.test_insert_events 
> (from pytest)
> Failing for the past 1 build (Since Failed#8613 )
> Took 1 min 20 sec.
> add description
> Error Message
> assert <bound method TestEventProcessing.wait_for_insert_event_processing of 
> <test_event_processing.TestEventProcessing object at 0x7f7fa86ec6d0>>(18421) 
> is True  +  where <bound method 
> TestEventProcessing.wait_for_insert_event_processing of 
> <test_event_processing.TestEventProcessing object at 0x7f7fa86ec6d0>> = 
> <test_event_processing.TestEventProcessing object at 
> 0x7f7fa86ec6d0>.wait_for_insert_event_processing
> Stacktrace
> custom_cluster/test_event_processing.py:82: in test_insert_events
>     self.run_test_insert_events()
> custom_cluster/test_event_processing.py:143: in run_test_insert_events
>     assert self.wait_for_insert_event_processing(last_synced_event_id) is True
> E   assert <bound method TestEventProcessing.wait_for_insert_event_processing 
> of <test_event_processing.TestEventProcessing object at 
> 0x7f7fa86ec6d0>>(18421) is True
> E    +  where <bound method 
> TestEventProcessing.wait_for_insert_event_processing of 
> <test_event_processing.TestEventProcessing object at 0x7f7fa86ec6d0>> = 
> <test_event_processing.TestEventProcessing object at 
> 0x7f7fa86ec6d0>.wait_for_insert_event_processing
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to