[ 
https://issues.apache.org/jira/browse/AVRO-737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12983487#action_12983487
 ] 

Scott Carey commented on AVRO-737:
----------------------------------

There are a few tricky parts:


* AvroRuntimeException.
If we move this into org.apache.avro.util, it changes the signature of the 
network protocols.  I'm  not sure what the impact of this is, but it may not be 
acceptable.
The alternative is to move it from the avro project to the ipc project.  If we 
do that we have to change several other classes, or move them to ipc.  I'm not 
familiar enough with ipc to know which way is best, or if we are stuck.

* mapred.tether generated classes. 
We currently generate these in the ipc project.  Perhaps they should be 
generated in mapred instead.  Otherwise they would need to move to something 
like o.a.a.ipc.mapred.tether.

* Tool.java
org.apache.avro.tool.Tool is defined in the avro project, but only implemented 
in the tools project.  Perhaps we should move it to o.a.a.tool.api, or move all 
tools in the tools project somewhere else.  We need to keep this interface in 
the root project so that all tools don't have to reside in the tools project.


Easy changes, if we're OK with the package movement:
* ByteBufferInputStream and ByteBufferOutputStream moved from o.a.a.ipc to 
o.a.a.util
* SpecificCompiler SchemaTask and ProtocolTask moved from o.a.a.specific  to 
o.a.a.specific.compiler ; associated tests as well
* ReflectRequestor and ReflectResponder moved from o.a.a.reflect to 
o.a.a.ipc.reflect
* SpecificRequestor and SpecificResponder moved from o.a.a.specific to 
o.a.a.ipc.specific
* GenericRequestor and GenericResponder moved from o.a.a.generic to 
o.a.a.ipc.generic






> Java: Improve correlation between packages and modules
> ------------------------------------------------------
>
>                 Key: AVRO-737
>                 URL: https://issues.apache.org/jira/browse/AVRO-737
>             Project: Avro
>          Issue Type: Sub-task
>          Components: java
>            Reporter: Scott Carey
>            Assignee: Scott Carey
>             Fix For: 1.5.0
>
>
> Several packages have classes from multiple modules in the new layout.
> In general, we should avoid this.  Ideally, o.a.a.ipc would only exist in the 
> avro-ipc.jar for example.
> For 1.5.0, I'd like to move the easy stuff around to better correlate 
> packages with modules.
> This will cause API changes we need to document.  Unfortunately, moving 
> classes around is not something you can do gradually.  Ideally these are 
> isolated.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to