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 >
