[ https://issues.apache.org/jira/browse/DRILL-8482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Turton closed DRILL-8482. ------------------------------- Resolution: Fixed > Assign region throw exception when some region is deployed on affinity node > and some on non-affinity node > --------------------------------------------------------------------------------------------------------- > > Key: DRILL-8482 > URL: https://issues.apache.org/jira/browse/DRILL-8482 > Project: Apache Drill > Issue Type: Bug > Components: Storage - HBase > Affects Versions: 1.21.1 > Reporter: shihuafeng > Priority: Major > Fix For: 1.21.2 > > Attachments: > 0001-DRILL-8482-Assign-region-throw-exception-when-some-r.patch > > > *[^0001-DRILL-8482-Assign-region-throw-exception-when-some-r.patch]Describe > the bug* > Assign region throw exception when some region is deployed on affinity > node and some on non-affinity node。 > *To Reproduce* > Steps to reproduce the behavior: > # > {code:java} > NavigableMap<HRegionInfo,ServerName> regionsToScan = Maps.newTreeMap(); > regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[0], splits[1]), > SERVER_A); > regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[1], splits[2]), > SERVER_A); > regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[2], splits[3]), > SERVER_B); > regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[3], splits[4]), > SERVER_B); > regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[6], splits[7]), > SERVER_D); > regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[7], splits[8]), > SERVER_D); > regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[8], splits[9]), > SERVER_D); > regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[9], splits[10]), > SERVER_D); > final List<DrillbitEndpoint> endpoints = Lists.newArrayList(); > endpoints.add(DrillbitEndpoint.newBuilder().setAddress(HOST_A).setControlPort(1234).build()); > endpoints.add(DrillbitEndpoint.newBuilder().setAddress(HOST_B).setControlPort(1234).build()); > endpoints.add(DrillbitEndpoint.newBuilder().setAddress(HOST_C).setControlPort(1234).build()); > HBaseGroupScan scan = new HBaseGroupScan(); > scan.setRegionsToScan(regionsToScan); > scan.setHBaseScanSpec(new HBaseScanSpec(TABLE_NAME_STR, splits[0], splits[0], > null)); > scan.applyAssignments(endpoints);{code} > *Expected behavior* > A has 3 regions > B has 2 regions > C has 3 regions > *Error detail, log output or screenshots* > {code:java} > Caused by: java.lang.NullPointerException: null > at > org.apache.drill.exec.store.hbase.HBaseGroupScan.applyAssignments(HBaseGroupScan.java:283){code} > -- This message was sent by Atlassian Jira (v8.20.10#820010)