[
https://issues.apache.org/jira/browse/PIG-4748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15847521#comment-15847521
]
Rohini Palaniswamy commented on PIG-4748:
-----------------------------------------
bq. Can we do getAvailableIDs() on the frontend and create enum on the fly?
It is a good idea. Can sort the DateTimeZone.getAvailableIDs() in a list and
use the index of that list in the serialization. One problem I see with it
though is if more than two versions of jodatime is in classpath then
DateTimeZone.getAvailableIDs() might differ and might produce different results
in different tasks. Somehow have to ensure we get same result in both frontend
and all tasks in backend for DateTimeZone.getAvailableIDs().
> DateTimeWritable forgets Chronology
> -----------------------------------
>
> Key: PIG-4748
> URL: https://issues.apache.org/jira/browse/PIG-4748
> Project: Pig
> Issue Type: Bug
> Components: impl
> Affects Versions: 0.16.0
> Reporter: Martin Junghanns
> Assignee: Adam Szita
> Fix For: 0.17.0
>
> Attachments: PIG-4748.patch
>
>
> The following test fails:
> {code}
> @Test
> public void foo() throws IOException {
> DateTime nowIn = DateTime.now();
> DateTimeWritable in = new DateTimeWritable(nowIn);
> ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
> DataOutputStream dataOut = new DataOutputStream(outputStream);
> in.write(dataOut);
> dataOut.flush();
> // read from byte[]
> DateTimeWritable out = new DateTimeWritable();
> ByteArrayInputStream inputStream = new ByteArrayInputStream(
> outputStream.toByteArray());
> DataInputStream dataIn = new DataInputStream(inputStream);
> out.readFields(dataIn);
> assertEquals(in.get(), out.get());
> }
> {code}
> In equals(), the original instance has
> {code}
> ISOChronology[Europe/Berlin]
> {code}
> while the deserialized instance has
> {code}
> ISOChronology[+01:00]
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)