[
https://issues.apache.org/jira/browse/TRAFODION-2449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15946502#comment-15946502
]
ASF GitHub Bot commented on TRAFODION-2449:
-------------------------------------------
Github user bucaojit commented on a diff in the pull request:
https://github.com/apache/incubator-trafodion/pull/1028#discussion_r108588665
--- Diff:
core/sqf/src/seatrans/tm/hbasetmlib2/src/main/java/org/trafodion/dtm/HBaseTxClient.java
---
@@ -1264,64 +1265,40 @@ public HashMapArray callRequestRegionInfo() throws
IOException {
TransactionState ts = mapTransactionStates.get(id);
final Set<TransactionRegionLocation> regions =
ts.getParticipatingRegions();
- // TableName
Iterator<TransactionRegionLocation> it = regions.iterator();
- tablename =
it.next().getRegionInfo().getTable().getNameAsString();
- while(it.hasNext()){
- tablename = tablename + ";" +
it.next().getRegionInfo().getTable().getNameAsString();
- }
- hm.addElement(tnum, "TableName", tablename);
-
- // Encoded Region Name
- Iterator<TransactionRegionLocation> it2 = regions.iterator();
- encoded_region_name =
it2.next().getRegionInfo().getEncodedName();
- while(it2.hasNext()){
- encoded_region_name = encoded_region_name + ";" +
it2.next().getRegionInfo().getTable().getNameAsString();
- }
- hm.addElement(tnum, "EncodedRegionName", encoded_region_name);
-
- // Region Name
- Iterator<TransactionRegionLocation> it3 = regions.iterator();
- region_name = it3.next().getRegionInfo().getRegionNameAsString();
- while(it3.hasNext()){
- region_name = region_name + ";" +
it3.next().getRegionInfo().getTable().getNameAsString();
- }
- hm.addElement(tnum, "RegionName", region_name);
-
- // Region Offline
- Iterator<TransactionRegionLocation> it4 = regions.iterator();
- boolean is_offline_bool = it4.next().getRegionInfo().isOffline();
- is_offline = String.valueOf(is_offline_bool);
- hm.addElement(tnum, "RegionOffline", is_offline);
-
- // Region ID
- Iterator<TransactionRegionLocation> it5 = regions.iterator();
- region_id =
String.valueOf(it5.next().getRegionInfo().getRegionId());
- while(it5.hasNext()){
- region_id = region_id + ";" +
it5.next().getRegionInfo().getRegionId();
- }
- hm.addElement(tnum, "RegionID", region_id);
-
- // Hostname
- Iterator<TransactionRegionLocation> it6 = regions.iterator();
- thn = String.valueOf(it6.next().getHostname());
- hostname = thn.substring(0, thn.length()-1);
- while(it6.hasNext()){
- thn = String.valueOf(it6.next().getHostname());
- hostname = hostname + ";" + thn.substring(0, thn.length()-1);
- }
- hm.addElement(tnum, "Hostname", hostname);
-
- // Port
- Iterator<TransactionRegionLocation> it7 = regions.iterator();
- port = String.valueOf(it7.next().getPort());
- while(it7.hasNext()){
- port = port + ";" + String.valueOf(it7.next().getPort());
- }
- hm.addElement(tnum, "Port", port);
+
+ while(it.hasNext()) {
+ TransactionRegionLocation trl = it.next();
+ tablename = trl.getRegionInfo().getTable().getNameAsString();
+ if(tablename.contains("_MD_"))
--- End diff --
Good point here. I will change the check to "TRAFODION._DTM_."
I decided to not include the metadata and include the explicit tables.
When testing with the metadata tables included it would print about 9 metadata
regions and I was more interested in seeing the table I was inserting or
deleting from. I started working on a 'status regions detail' that will add
the metadata as well but I was hitting a character limit with so many regions
when testing. Message limit for the TM message CTmTxMessage looks to be around
4k.
> dtmci - Enhance to include HBase-related info for status
> ---------------------------------------------------------
>
> Key: TRAFODION-2449
> URL: https://issues.apache.org/jira/browse/TRAFODION-2449
> Project: Apache Trafodion
> Issue Type: Improvement
> Components: dtm
> Affects Versions: 2.2-incubating
> Reporter: Oliver Bucaojit
> Priority: Minor
> Attachments: status_regions.png, TRAFODION-2449.v1.patch,
> TRAFODION-2449.v2.patch
>
>
> Request for enhancement
> dtmci 'status trans' does not show information regarding table name,
> regionserver, or region. It would be beneficial for troubleshooting and
> understanding the path taken by a transaction to include HBase related
> information.
> Initial idea would be to add a 'detailed' option to specifying the trans id.
> DTMCI > status trans <transid>, detailed
> Looking at the code, this work would require adding JNI calls from the tm
> process to the HBaseTxClient class to gather this information.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)