[ 
https://issues.apache.org/jira/browse/HBASE-2894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benoit Sigoure updated HBASE-2894:
----------------------------------

    Description: 
{code:title=MultiPut.java}
public class MultiPut implements Writable {
  public HServerAddress address; // client code ONLY                            
                  
        
  // map of regions to lists of puts for that region.                           
                  
  public Map<byte[], List<Put> > puts = new TreeMap<byte[], 
List<Put>>(Bytes.BYTES_COMPARATOR);
[...]
{code}
I don't see any reason for those fields to be public.  Let's make sure this 
doesn't leak to a stable release, otherwise it becomes part of the API.

Fixing this issue may be pointless if this ever happens: http://su.pr/1SG7fB

_edit:_ Similarly, {{MultiPutResponse}} has two fields that are {{protected}}, 
but need not to be:
{code:title=MultiPutResponse.java}
public class MultiPutResponse implements Writable {
                
  protected MultiPut request; // used in client code ONLY
                  
  protected Map<byte[], Integer> answers = new TreeMap<byte[], 
Integer>(Bytes.BYTES_COMPARATOR);
[...]
{code}

  was:
{code:title=MultiPut.java}
public class MultiPut implements Writable {
  public HServerAddress address; // client code ONLY                            
                  
        
  // map of regions to lists of puts for that region.                           
                  
  public Map<byte[], List<Put> > puts = new TreeMap<byte[], 
List<Put>>(Bytes.BYTES_COMPARATOR);
[...]
{code}
I don't see any reason for those fields to be public.  Let's make sure this 
doesn't leak to a stable release, otherwise it becomes part of the API.

Fixing this issue may be pointless if this ever happens: http://su.pr/1SG7fB


> MultiPut exposes public fields
> ------------------------------
>
>                 Key: HBASE-2894
>                 URL: https://issues.apache.org/jira/browse/HBASE-2894
>             Project: HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.89.20100621
>            Reporter: Benoit Sigoure
>            Assignee: ryan rawson
>            Priority: Blocker
>
> {code:title=MultiPut.java}
> public class MultiPut implements Writable {
>   public HServerAddress address; // client code ONLY                          
>                     
>         
>   // map of regions to lists of puts for that region.                         
>                     
>   public Map<byte[], List<Put> > puts = new TreeMap<byte[], 
> List<Put>>(Bytes.BYTES_COMPARATOR);
> [...]
> {code}
> I don't see any reason for those fields to be public.  Let's make sure this 
> doesn't leak to a stable release, otherwise it becomes part of the API.
> Fixing this issue may be pointless if this ever happens: http://su.pr/1SG7fB
> _edit:_ Similarly, {{MultiPutResponse}} has two fields that are 
> {{protected}}, but need not to be:
> {code:title=MultiPutResponse.java}
> public class MultiPutResponse implements Writable {
>                 
>   protected MultiPut request; // used in client code ONLY
>                   
>   protected Map<byte[], Integer> answers = new TreeMap<byte[], 
> Integer>(Bytes.BYTES_COMPARATOR);
> [...]
> {code}

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