Hi Todd,

thanks for your help. Manually reopening the table and building a new scanner 
while catching the exception worked for me. Now I'm facing the same problem 
with write operations. While writing the exception gets thrown on closing the 
KuduSession (?) instead of the upsert/insert/delete, so its not possible for me 
to catch it at the right spot. The only solution I found for this is reopening 
the table on every write. Its' not really viable, because it results in 2x 
runtime.

Regards,
Philipp
________________________________
Von: Todd Lipcon [[email protected]]
Gesendet: Dienstag, 5. Juni 2018 19:22
An: [email protected]
Betreff: Re: Java KuduClient table references

Hi Philipp,

What you're seeing is expected -- internally, after you open a table, the 
client will use that table's internal UUID rather than its name to perform 
operations. This is similar semantics to opening a file and then renaming it on 
a POSIX filesystem.

Creating a new KuduClient instance should definitely result in new Table 
instances. There is no singleton or cross-client-instance caching going on. In 
fact, even re-opening the table from an existing client instance should return 
a new KuduTable instance, since we don't cache the table->tableId mapping as 
far as I can recall.

Are you sure that you properly called 'openTable' to get a new KuduTable 
instance, and are using that new KuduTable to create the new scanners?

-Todd

On Tue, Jun 5, 2018 at 1:50 AM, Philipp-A Hoffmann 
<[email protected]<mailto:[email protected]>> wrote:
Hi there,

I'm experiencing the following issue with the Java Kudu API:

If I'm re-creating my tables (no schema changes) in Impala while my Kudu 
application is running, Kudu keeps the old table references. That results in a 
warning ("org.apache.kudu.client.AsyncKuduScanner: Can not open scanner") 
followed by an exception ("NonRecoverableException: The table was deleted: 
Table deleted at ...") while accessing the table. I've tried to create a new 
KuduClient instance using the KuduClientBuilder, but it's still getting the old 
table references. Is there any way to clear these references?

Kind regards,
Philipp

Die Europäische Kommission hat unter http://ec.europa.eu/consumers/odr/ eine 
Europäische Online-Streitbeilegungsplattform (OS-Plattform) errichtet. 
Verbraucher können die OS-Plattform für die außergerichtliche Beilegung von 
Streitigkeiten aus Online-Verträgen mit in der EU niedergelassenen Unternehmen 
nutzen.

Informationen (einschließlich Pflichtangaben) zu einzelnen, innerhalb der EU 
tätigen Gesellschaften und Zweigniederlassungen der DB Privat- und 
Firmenkundenbank AG finden Sie unter https://www.postbank.de/pflichtangaben. 
Diese E-Mail enthält vertrauliche und/ oder rechtlich geschützte Informationen. 
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten 
haben, informieren Sie bitte sofort den Absender und vernichten Sie diese 
E-Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail 
ist nicht gestattet.

The European Commission has established a European online dispute resolution 
platform (OS platform) under http://ec.europa.eu/consumers/odr/. Consumers may 
use the OS platform to resolve disputes arising from online contracts with 
providers established in the EU.

Please refer to https://www.postbank.com/disclosures for information (including 
mandatory corporate particulars) on selected branches and group companies 
registered or incorporated in the European Union. This e-mail may contain 
confidential and/or privileged information. If you are not the intended 
recipient (or have received this e-mail in error) please notify the sender 
immediately and delete this e-mail. Any unauthorized copying, disclosure or 
distribution of the material in this e-mail is strictly forbidden.



--
Todd Lipcon
Software Engineer, Cloudera
Die Europäische Kommission hat unter http://ec.europa.eu/consumers/odr/ eine 
Europäische Online-Streitbeilegungsplattform (OS-Plattform) errichtet. 
Verbraucher können die OS-Plattform für die außergerichtliche Beilegung von 
Streitigkeiten aus Online-Verträgen mit in der EU niedergelassenen Unternehmen 
nutzen.

Informationen (einschließlich Pflichtangaben) zu einzelnen, innerhalb der EU 
tätigen Gesellschaften und Zweigniederlassungen der DB Privat- und 
Firmenkundenbank AG finden Sie unter https://www.postbank.de/pflichtangaben. 
Diese E-Mail enthält vertrauliche und/ oder rechtlich geschützte Informationen. 
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten 
haben, informieren Sie bitte sofort den Absender und vernichten Sie diese 
E-Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail 
ist nicht gestattet.

The European Commission has established a European online dispute resolution 
platform (OS platform) under http://ec.europa.eu/consumers/odr/. Consumers may 
use the OS platform to resolve disputes arising from online contracts with 
providers established in the EU.

Please refer to https://www.postbank.com/disclosures for information (including 
mandatory corporate particulars) on selected branches and group companies 
registered or incorporated in the European Union. This e-mail may contain 
confidential and/or privileged information. If you are not the intended 
recipient (or have received this e-mail in error) please notify the sender 
immediately and delete this e-mail. Any unauthorized copying, disclosure or 
distribution of the material in this e-mail is strictly forbidden.

Reply via email to