You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Scott Carey (JIRA)" <ji...@apache.org> on 2011/01/19 02:31:43 UTC

[jira] Commented: (AVRO-737) Java: Improve correlation between packages and modules

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