Yingyi Bu created ASTERIXDB-1211:
------------------------------------
Summary: Malformed metadata record for enforced open index
Key: ASTERIXDB-1211
URL: https://issues.apache.org/jira/browse/ASTERIXDB-1211
Project: Apache AsterixDB
Issue Type: Bug
Reporter: Yingyi Bu
Assignee: Ildar Absalyamov
Priority: Blocker
drop dataverse test if exists;
create dataverse test;
use dataverse test;
create type Emp as closed {
id:int64,
fname:string,
lname:string,
age:int64,
dept:string
}
create type EmpOpen as open {
id:int64,
age:int64,
dept:string
}
create dataset employee(Emp) primary key id;
create dataset employeeOpen(EmpOpen) primary key id;
create index idx_employee_f_l_name on employeeOpen(fname:string,lname:string)
enforced;
for $m in dataset Metadata.Index
return $m.SearchKeyType;
Exception:
No getLength implemented for a value of this type UINT16 .
[NotImplementedException]
I verified that regular open datasets works when there is a list of string on
the open part.
It seems to me the serialization format of the metadata entry for the enforced
open index is not right.
This should be a *release blocker* because it seems to affect the metadata
record format.
The root cause is that "SearchKeyType" is in the open part of the record but
serialized as if it is in the closed part:
https://github.com/apache/incubator-asterixdb/blob/master/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java#L259
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)