hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Yu <yuzhih...@gmail.com>
Subject Re: Hbase scan returns row result twice
Date Sun, 23 Jul 2017 21:41:35 GMT
You can call the following method of Result to see if any Result is partial:

  public boolean isPartial() {

FYI

On Fri, Jul 21, 2017 at 9:49 AM, Veerraju Tadimeti <tvvraju@gmail.com>
wrote:

> Hi,
>
> I am scanning hbase through Hive.  I am using a coprocessor implementing
> postScannerNext().  For each result, I am executing Get operation.
>
> postScannerNext(final ObserverContext<RegionCoprocessorEnvironment> e,
>             final InternalScanner s, final List<Result> results, final int
> limit,
>             final boolean hasMore){
>
>       List<Result> newResults = new ArrayList<Result>(results.size());
>             for (Result result : results) {
>                     Get get = new Get(result.getRow());
>                     Result newResult =
> e.getEnvironment().getRegion().get(get);
>                     newResults.add(newResult);
>             }
>                 results.clear();
>                 results.addAll(newResults);
> return hasMore;
> }
>
>
> I am scanning 100 million records with TimeRange.  Sometimes I am getting
> duplicate rows.  I think postScannerNext()  is sending result twice for
> same row.
>
>
>
> From hive , I am NOT setting allowPartialResults.
> MaxResultSize : 2097152
> Caching : 2147483647
> Batch : -1
>
> To my knowledge, server returns partial results only when we explicitly set
> to (scan.setAllowPartialResults=TRUE).  I am not doing this.
>
> Any idea, why this happens.
>
> Thanks,
> Raju,
> (972)273-0155.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message