[
https://issues.apache.org/jira/browse/HIVE-4703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13689945#comment-13689945
]
Eugene Koifman commented on HIVE-4703:
--------------------------------------
When table is create like so:
curl -i -X PUT -HContent-type:application/json \
-d '{ "comment":"test comment", "columns": [ { "name": "int", "type":
"string", "comment":"1st column comment" }, {"name":"int2", "type":"int"} ],
"format": { "storedAs": "rcfile" } }' \
'http://localhost:50111/templeton/v1/ddl/database/default/table/test_table?user.name=ekoifman'
and then 'desc test_table' from Hive CLI the output looks like:
hive> desc test_table;
OK
int string from deserializer
int2 int from deserializer
Time taken: 0.099 seconds, Fetched: 2 row(s)
or curl -i -X GET
'http://localhost:50111/templeton/v1/ddl/database/default/table/test_table?user.name=ekoifman'
ql.exec.DDLTask.describeTable() calls
ql.metadata.Table.getCols()
getCols() has access to a StorageDescriptor instance which as the correct
column Comments but it's not
using it. Instead it branches to use
Hive.getFieldsFromDeserializer(getTableName(), getDeserializer())
It looks like metastore.MetaStoreUtil.determineFieldComment() produces "from
deserializer" message.
Also, there are dozens of .q.out and other test files are written to expect
"from deserializer" message.
So I'm not sure how WebHcat e2e tests worked before as written.
See for example, tests 4 & 8 in REST_DDL_TABLE_BASIC group in
hcatalog/src/test/e2e/templeton/tests/ddl.conf
> WebHcat looses column comments and returns 'from deserializer'
> --------------------------------------------------------------
>
> Key: HIVE-4703
> URL: https://issues.apache.org/jira/browse/HIVE-4703
> Project: Hive
> Issue Type: Bug
> Components: HCatalog
> Affects Versions: 0.12.0
> Reporter: Eugene Koifman
> Assignee: Eugene Koifman
> Fix For: 0.12.0
>
> Attachments: webhcatMini.sh
>
>
> This causes Templeton e2e tests to fail.
> start WeHcat server (build/dist/hcatalog/sbin/webhcat_server.sh start)
> run commands in the attached webhcatMini.sh.
> It creates a table with some comments on columns.
> When executing describe (GET) on this table, original comments are lost and
> are replaced with "from deserializer" string.
> Here is the output of these commands:
> localhost:dev ekoifman$ webhcatMini.sh
> Running delete test_table ifExists
> HTTP/1.1 200 OK
> Set-Cookie:
> hadoop.auth="u=ekoifman&p=ekoifman&t=simple&e=1370945567179&s=vIBKhGQwzs5pPAY3IkhyPpDkWrY=";Version=1;Path=/;Discard
> Expires: Thu, 01 Jan 1970 00:00:00 GMT
> Content-Type: application/json
> Transfer-Encoding: chunked
> Server: Jetty(7.6.0.v20120127)
> {"table":"test_table","database":"default"}
> Running create test_table
> HTTP/1.1 200 OK
> Set-Cookie:
> hadoop.auth="u=ekoifman&p=ekoifman&t=simple&e=1370945569788&s=g37NbyyRnf667IciUiIpIQNYGOo=";Version=1;Path=/;Discard
> Expires: Thu, 01 Jan 1970 00:00:00 GMT
> Content-Type: application/json
> Transfer-Encoding: chunked
> Server: Jetty(7.6.0.v20120127)
> {"table":"test_table","database":"default"}
> Running describe test_table
> HTTP/1.1 200 OK
> Set-Cookie:
> hadoop.auth="u=ekoifman&p=ekoifman&t=simple&e=1370945572423&s=7kE1FOn1Co2JQzZfW0V1myqulw0=";Version=1;Path=/;Discard
> Expires: Thu, 01 Jan 1970 00:00:00 GMT
> Content-Type: application/json
> Transfer-Encoding: chunked
> Server: Jetty(7.6.0.v20120127)
> {"columns":[{"name":"int","comment":"from
> deserializer","type":"string"},{"name":"int2","comment":"from
> deserializer","type":"int"}],"database":"default","table":"test_table"}
> Mon Jun 10 17:12:55 PDT 2013
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira