Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # user >> Is "synchronized" required?


Copy link to this message
-
Re: Is "synchronized" required?
Bing:
Use pastebin.com instead of attaching exception report.

What version of HBase are you using ?

Thanks

On Mon, Feb 4, 2013 at 12:21 PM, Harsh J <[EMAIL PROTECTED]> wrote:

> What exceptions do you actually receive - can you send them here?
> Knowing that is key to addressing your issue.
>
> On Tue, Feb 5, 2013 at 1:50 AM, Bing Li <[EMAIL PROTECTED]> wrote:
> > Dear all,
> >
> > When writing data into HBase, sometimes I got exceptions. I guess they
> > might be caused by concurrent writings. But I am not sure.
> >
> > My question is whether it is necessary to put "synchronized" before
> > the writing methods? The following lines are the sample code.
> >
> > I think the directive, synchronized, must lower the performance of
> > writing. Sometimes concurrent writing is needed in my system.
> >
> > Thanks so much!
> >
> > Best wishes,
> > Bing
> >
> > public synchronized void AddDomainNodeRanks(String domainKey, int
> > timingScale, Map<String, Double> nodeRankMap)
> > {
> >       List<Put> puts = new ArrayList<Put>();
> >       Put domainKeyPut;
> >       Put timingScalePut;
> >       Put nodeKeyPut;
> >       Put rankPut;
> >
> >       byte[] domainNodeRankRowKey;
> >
> >       for (Map.Entry<String, Double> nodeRankEntry :
> nodeRankMap.entrySet())
> >       {
> >           domainNodeRankRowKey > > Bytes.toBytes(RankStructure.DOMAIN_NODE_RANK_ROW +
> > Tools.GetAHash(domainKey + timingScale + nodeRankEntry.getKey()));
> >
> >          domainKeyPut = new Put(domainNodeRankRowKey);
> >          domainKeyPut.add(RankStructure.DOMAIN_NODE_RANK_FAMILY,
> > RankStructure.DOMAIN_NODE_RANK_DOMAIN_KEY_COLUMN,
> > Bytes.toBytes(domainKey));
> >          puts.add(domainKeyPut);
> >
> >          timingScalePut = new Put(domainNodeRankRowKey);
> >          timingScalePut.add(RankStructure.DOMAIN_NODE_RANK_FAMILY,
> > RankStructure.DOMAIN_NODE_RANK_TIMING_SCALE_COLUMN,
> > Bytes.toBytes(timingScale));
> >         puts.add(timingScalePut);
> >
> >         nodeKeyPut = new Put(domainNodeRankRowKey);
> >         nodeKeyPut.add(RankStructure.DOMAIN_NODE_RANK_FAMILY,
> > RankStructure.DOMAIN_NODE_RANK_NODE_KEY_COLUMN,
> > Bytes.toBytes(nodeRankEntry.getKey()));
> >         puts.add(nodeKeyPut);
> >
> >         rankPut = new Put(domainNodeRankRowKey);
> >         rankPut.add(RankStructure.DOMAIN_NODE_RANK_FAMILY,
> > RankStructure.DOMAIN_NODE_RANK_RANKS_COLUMN,
> > Bytes.toBytes(nodeRankEntry.getValue()));
> >         puts.add(rankPut);
> >      }
> >
> >      try
> >      {
> >          this.rankTable.put(puts);
> >      }
> >      catch (IOException e)
> >      {
> >          e.printStackTrace();
> >      }
> > }
>
>
>
> --
> Harsh J
>