You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Adrian Ng (JIRA)" <ji...@apache.org> on 2018/10/18 23:17:00 UTC

[jira] [Assigned] (IMPALA-7717) Partition id does not exist exception - Catalog V2

     [ https://issues.apache.org/jira/browse/IMPALA-7717?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adrian Ng reassigned IMPALA-7717:
---------------------------------

    Assignee: bharath v

> Partition id does not exist exception - Catalog V2
> --------------------------------------------------
>
>                 Key: IMPALA-7717
>                 URL: https://issues.apache.org/jira/browse/IMPALA-7717
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Catalog
>            Reporter: bharath v
>            Assignee: bharath v
>            Priority: Critical
>         Attachments: IMPALA-7717-repro.patch
>
>
> Concurrent invalidates with partial RPC on partitioned tables can throw this exception.
> {noformat}
> I1016 15:49:03.438048 30197 jni-util.cc:256] java.lang.IllegalArgumentException: Partition id 162 does not exist
>   at com.google.common.base.Preconditions.checkArgument(Preconditions.java:119)
>   at org.apache.impala.catalog.HdfsTable.getPartialInfo(HdfsTable.java:1711)
>   at org.apache.impala.catalog.CatalogServiceCatalog.doGetPartialCatalogObject(CatalogServiceCatalog.java:2202)
>   at org.apache.impala.catalog.CatalogServiceCatalog.getPartialCatalogObject(CatalogServiceCatalog.java:2141)
>   at org.apache.impala.service.JniCatalog.getPartialCatalogObject(JniCatalog.java:237)
> I1016 15:49:03.440939 30197 status.cc:129] IllegalArgumentException: Partition id 162 does not exist
> {noformat}
> {noformat}
>  @Override
>   public TGetPartialCatalogObjectResponse getPartialInfo(
>       TGetPartialCatalogObjectRequest req) throws TableLoadingException {
>     
>     if (partIds != null) {
>       resp.table_info.partitions = Lists.newArrayListWithCapacity(partIds.size());
>       for (long partId : partIds) {
>         HdfsPartition part = partitionMap_.get(partId);
>         Preconditions.checkArgument(part != null, "Partition id %s does not exist",
>             partId); <====
> {noformat}
> The issue is that the invalidate command can reset the partition IDs and the RPCs could look up with older IDs. 
> We should wrap this into an inconsistent metadata fetch exception and retry rather than throwing a RTE.



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

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