We're updating the issue view to help you get more done. 

Custom Dataset not explorable with certain RecordType variable names

Description

I have implemented the RecordScannable interface in a custom Dataset. The RecordType class that I have implemented and return the type in getRecordType has a String variable named "column". When I deploy the application I see the Dataset, but it is not explorable. If I change the name to something else like "col" the Dataset is explorable.

Can you please document any variable names that should not be used for RecordType classes?

Release Notes

None

Activity

Show:
Andreas Neumann
February 11, 2016, 10:06 PM

I think that happens for all names that are reserved keywords in Hive:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL
On that page, it also says: Reserved keywords are permitted as identifiers if you quote them.
Perhaps we should always do that when generating the DDL statement?

Andreas Neumann
February 11, 2016, 10:07 PM

Also wondering whether CDAP gives a reasonable warning message in the logs about that? Or would it be better if it fails because of that, so that the user can fix it right away and it does not go unnoticed?

Jeff Dix
February 11, 2016, 11:10 PM

There was no error message that I could find in the cdap master log.

Ali Anwar
February 22, 2016, 10:57 PM

My understanding is that the application deploy should have failed.
Isn't that right? In that case, cdap master would not need an error log.

Albert Shau
February 23, 2016, 12:22 AM

Ever since we introduced explore, explore failures have not been treated as fatal failures, which is why the application deploy did not fail. I'm not sure why we did it that way, but it is worth revisiting. Seems like an explore failure should fail app deployment, dataset property update, etc.

Duplicate

Assignee

Poorna Chandra

Reporter

Jeff Dix

Labels

Docs Impact

None

UX Impact

None

Components

Affects versions

Priority

Minor
Configure