[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-04-04 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13623041#comment-13623041
 ] 

Hudson commented on HIVE-4007:
--

Integrated in Hive-trunk-hadoop2 #138 (See 
[https://builds.apache.org/job/Hive-trunk-hadoop2/138/])
HIVE-4007 : Create abstract classes for serializer and deserializer (Namit 
Jain via Ashutosh Chauhan) (Revision 1461235)

 Result = FAILURE
hashutosh : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1461235
Files : 
* 
/hive/trunk/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/RegexSerDe.java
* 
/hive/trunk/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/TypedBytesSerDe.java
* 
/hive/trunk/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/s3/S3LogDeserializer.java
* 
/hive/trunk/hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseSerDe.java
* /hive/trunk/ql/src/test/org/apache/hadoop/hive/serde2/TestSerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/AbstractDeserializer.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/AbstractSerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/AbstractSerializer.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/Deserializer.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/MetadataTypedColumnsetSerDe.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/NullStructSerDe.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/RegexSerDe.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/SerDe.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/Serializer.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/TypedSerDe.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/columnar/ColumnarSerDeBase.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazySimpleSerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinarySerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/thrift/ThriftDeserializer.java


 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Fix For: 0.11.0

 Attachments: hive.4007.1.patch, hive.4007.2.patch, hive.4007.3.patch, 
 hive.4007.4.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-03-27 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13615491#comment-13615491
 ] 

Hudson commented on HIVE-4007:
--

Integrated in Hive-trunk-h0.21 #2033 (See 
[https://builds.apache.org/job/Hive-trunk-h0.21/2033/])
HIVE-4007 : Create abstract classes for serializer and deserializer (Namit 
Jain via Ashutosh Chauhan) (Revision 1461235)

 Result = ABORTED
hashutosh : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1461235
Files : 
* 
/hive/trunk/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/RegexSerDe.java
* 
/hive/trunk/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/TypedBytesSerDe.java
* 
/hive/trunk/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/s3/S3LogDeserializer.java
* 
/hive/trunk/hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseSerDe.java
* /hive/trunk/ql/src/test/org/apache/hadoop/hive/serde2/TestSerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/AbstractDeserializer.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/AbstractSerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/AbstractSerializer.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/Deserializer.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/MetadataTypedColumnsetSerDe.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/NullStructSerDe.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/RegexSerDe.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/SerDe.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/Serializer.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/TypedSerDe.java
* /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/columnar/ColumnarSerDeBase.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/dynamic_type/DynamicSerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazySimpleSerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinarySerDe.java
* 
/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/thrift/ThriftDeserializer.java


 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Fix For: 0.11.0

 Attachments: hive.4007.1.patch, hive.4007.2.patch, hive.4007.3.patch, 
 hive.4007.4.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-03-26 Thread Ashutosh Chauhan (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13613612#comment-13613612
 ] 

Ashutosh Chauhan commented on HIVE-4007:


Cool. +1 running tests.

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch, hive.4007.2.patch, hive.4007.3.patch, 
 hive.4007.4.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-03-22 Thread Ashutosh Chauhan (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13611165#comment-13611165
 ] 

Ashutosh Chauhan commented on HIVE-4007:


[~namit] I would like to see this make into 0.11. Do you agree with what I said 
in my previous comment w.r.t to preserving backward compatibility?

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch, hive.4007.2.patch, hive.4007.3.patch, 
 hive.4007.4.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-03-22 Thread Namit Jain (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13611560#comment-13611560
 ] 

Namit Jain commented on HIVE-4007:
--

That's OK - I think we should change the existing hive serdes (which I have).
For the custom serdes, we can take the approach you suggested.

We can add a instanceof check when we add a new method in AbstractSerdes etc.

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch, hive.4007.2.patch, hive.4007.3.patch, 
 hive.4007.4.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-03-02 Thread Ashutosh Chauhan (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13591614#comment-13591614
 ] 

Ashutosh Chauhan commented on HIVE-4007:


Just so we are on same page, let me say how it ought to work:
We need not to remove Serde interface in medium term. In Hive codebase we still 
refer implementations everywhere by Serde (not by AbstractSerde).  This will 
let existing serde impl work without needing to change anything on their part. 
Than lets say we add new apis to AbstractSerde. Than in Hive codebase, using 
instanceof we can determine if Serde is of type AbstractSerde or not  and call 
those new apis, *only if* they do implement it. This way we can keep supporting 
old implementations without breaking them when we do add new apis in 
AbstractSerde. Ofcourse, we encourage everyone to start switching to 
AbstractSerde as soon as they can, so that we don't need to do ugly instanceof 
forever.
Do you agree with this approach?
 

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch, hive.4007.2.patch, hive.4007.3.patch, 
 hive.4007.4.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-02-28 Thread Jarek Jarcec Cecho (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13589604#comment-13589604
 ] 

Jarek Jarcec Cecho commented on HIVE-4007:
--

I'm still +1 (non-binding), thank you Namit for working on this!

Jarcec

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch, hive.4007.2.patch, hive.4007.3.patch, 
 hive.4007.4.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-02-27 Thread Namit Jain (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13589316#comment-13589316
 ] 

Namit Jain commented on HIVE-4007:
--

Refreshed, tests passed

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch, hive.4007.2.patch, hive.4007.3.patch, 
 hive.4007.4.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-02-20 Thread Jarek Jarcec Cecho (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13582260#comment-13582260
 ] 

Jarek Jarcec Cecho commented on HIVE-4007:
--

+1 (non-binding)

Thank you for working on this Namit!

Jarcec

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch, hive.4007.2.patch, hive.4007.3.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-02-19 Thread Jarek Jarcec Cecho (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13581395#comment-13581395
 ] 

Jarek Jarcec Cecho commented on HIVE-4007:
--

Hi Namit,
thank you very much for working on this. I've took a look on the patch and I do 
have one high level question. It seems to me that we're just adding 
{{AbstractSerDe}} that all {{SerDe}} implementations will extend in the future 
to allow the easy extension for future functionality. But it also seems that 
we're keeping the old {{SerDe}} interface implementation. Since no {{SerDe}} 
should implement that directly, it seems to me that it's unnecessary piece of 
code. I can imagine that it would be great to keep it around for a release or 
two to provide backward compatibility and allow Hive users to migrate they 
codebase without immediately breaking the environment. I would suggest to mark 
this interface as {{@Deprecated}} in case that this is the intent.

Jarcec

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch, hive.4007.2.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-02-19 Thread Namit Jain (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13581928#comment-13581928
 ] 

Namit Jain commented on HIVE-4007:
--

[~jarcec], good point - will do

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch, hive.4007.2.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-02-19 Thread Namit Jain (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13582020#comment-13582020
 ] 

Namit Jain commented on HIVE-4007:
--

Refreshed, addressed comments, all tests passed

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch, hive.4007.2.patch, hive.4007.3.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-02-18 Thread Namit Jain (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13581026#comment-13581026
 ] 

Namit Jain commented on HIVE-4007:
--

[~ashutoshc], ping..

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch, hive.4007.2.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-02-18 Thread Ashutosh Chauhan (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13581055#comment-13581055
 ] 

Ashutosh Chauhan commented on HIVE-4007:


Whats exactly the incompatibility here? Since AbstractSerde implements Serde. 
Any existing serde should still continue to work without needing to recompile 
because in codebase we are still refering by Serde, not by AbstractSerde. 
Existing serde can move to AbstractSerde as they see fit. New serdes we can 
recommend to extend AbstractSerde. When we do add new apis to AbstractSerde, we 
need to make sure we call them on serde only if they implement. This is not 
clean, but can be made to work.

That aside, Namit can you point out the motivation for this. Which new apis you 
want to add in AbstractSerde? At the moment, there is none.

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch, hive.4007.2.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-02-18 Thread Namit Jain (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13581062#comment-13581062
 ] 

Namit Jain commented on HIVE-4007:
--

Right now, there is no incompatibility.

The idea is as follows:

If we want to add a new API today to the SerDe, we need to change all the 
existing implementations, even if they are
not using the new API. We will add a dummy implementation in the future in the 
abstract class, and only the classes
that need to use the new API will implement the new API. The code change will 
be limited. All serdes should extend
the abstract class - since we cannot enforce that for the serde in the open, 
this will create a problem for those
serdes when the API changes. The problem exists even today, and is much worse - 
with this change, the serdes have to
make the change only once.

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch, hive.4007.2.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-02-12 Thread Namit Jain (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13577329#comment-13577329
 ] 

Namit Jain commented on HIVE-4007:
--

I agree, it is incompatible. I can change the existing serde's in hive 
codebase, but there may be external serde's out there, which I have
no control over.

We have to take this hit sometime.

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain

 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-02-12 Thread Namit Jain (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13577345#comment-13577345
 ] 

Namit Jain commented on HIVE-4007:
--

https://reviews.facebook.net/D8541

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain
 Attachments: hive.4007.1.patch


 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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


[jira] [Commented] (HIVE-4007) Create abstract classes for serializer and deserializer

2013-02-11 Thread Jarek Jarcec Cecho (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13575827#comment-13575827
 ] 

Jarek Jarcec Cecho commented on HIVE-4007:
--

I'm +1 on the generic idea of having abstract classes instead of interfaces for 
such things as Serialize/Deserialize. Abstract classes are much more flexible 
for maintenance and new feature addition.

However changing existing code might not be easy as I'm anticipating that it 
will introduce backward incompatibility for all existing custom SerDes that are 
out there.

 Create abstract classes for serializer and deserializer
 ---

 Key: HIVE-4007
 URL: https://issues.apache.org/jira/browse/HIVE-4007
 Project: Hive
  Issue Type: Improvement
  Components: Serializers/Deserializers
Reporter: Namit Jain
Assignee: Namit Jain

 Currently, it is very difficult to change the Serializer/Deserializer
 interface, since all the SerDes directly implement the interface.
 Instead, we should have abstract classes for implementing these interfaces.
 In case of a interface change, only the abstract class and the relevant 
 serde needs to change.

--
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