@@ -139,7 +139,7 @@ public class OHTable implements HTableInterface {
139
139
/**
140
140
* the buffer of put request
141
141
*/
142
- private final ArrayList <Put > writeBuffer = new ArrayList <>();
142
+ private final ArrayList <Put > writeBuffer = new ArrayList <Put >();
143
143
/**
144
144
* when the put request reach the write buffer size the do put will
145
145
* flush commits automatically
@@ -1563,6 +1563,7 @@ public void flushCommits() throws IOException {
1563
1563
} catch (Exception e ) {
1564
1564
logger .error (LCD .convert ("01-00008" ), tableNameString , null , autoFlush ,
1565
1565
writeBuffer .size (), e );
1566
+ throw new IOException ("put table " + tableNameString + " error." , e );
1566
1567
} finally {
1567
1568
// mutate list so that it is empty for complete success, or contains
1568
1569
// only failed records results are returned in the same order as the
@@ -2023,69 +2024,97 @@ public static ObTableBatchOperation buildObTableBatchOperation(List<Mutation> ro
2023
2024
batch .setSamePropertiesNames (true );
2024
2025
return batch ;
2025
2026
}
2027
+
2026
2028
private QueryAndMutate buildDeleteQueryAndMutate (KeyValue kv ,
2027
2029
ObTableOperationType operationType ,
2028
2030
boolean isTableGroup , Long TTL ) {
2029
2031
KeyValue .Type kvType = KeyValue .Type .codeToType (kv .getType ());
2030
- com .alipay .oceanbase .rpc .mutation .Mutation tableMutation = buildMutation (kv , operationType , isTableGroup , TTL );
2032
+ com .alipay .oceanbase .rpc .mutation .Mutation tableMutation = buildMutation (kv , operationType ,
2033
+ isTableGroup , TTL );
2031
2034
ObNewRange range = new ObNewRange ();
2032
2035
ObTableQuery tableQuery = new ObTableQuery ();
2033
- tableQuery .setObKVParams (buildOBKVParams ((Scan )null ));
2036
+ tableQuery .setObKVParams (buildOBKVParams ((Scan ) null ));
2034
2037
ObHTableFilter filter = null ;
2035
2038
switch (kvType ) {
2036
2039
case Delete :
2037
2040
if (kv .getTimestamp () == Long .MAX_VALUE ) {
2038
- range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (), ObObj .getMin ()));
2039
- range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (), ObObj .getMax ()));
2041
+ range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (),
2042
+ ObObj .getMin ()));
2043
+ range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (),
2044
+ ObObj .getMax ()));
2040
2045
filter = buildObHTableFilter (null , null , 1 , kv .getQualifier ());
2041
- } else {
2042
- range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (),ObObj .getMin ()));
2043
- range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (), ObObj .getMax ()));
2044
- filter = buildObHTableFilter (null , new TimeRange (kv .getTimestamp (), kv .getTimestamp () + 1 ), 1 , kv .getQualifier ());
2046
+ } else {
2047
+ range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (),
2048
+ ObObj .getMin ()));
2049
+ range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (),
2050
+ ObObj .getMax ()));
2051
+ filter = buildObHTableFilter (null ,
2052
+ new TimeRange (kv .getTimestamp (), kv .getTimestamp () + 1 ), 1 ,
2053
+ kv .getQualifier ());
2045
2054
}
2046
2055
break ;
2047
2056
case DeleteColumn :
2048
2057
if (kv .getTimestamp () == Long .MAX_VALUE ) {
2049
- range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (), ObObj .getMin ()));
2050
- range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (), ObObj .getMax ()));
2058
+ range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (),
2059
+ ObObj .getMin ()));
2060
+ range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (),
2061
+ ObObj .getMax ()));
2051
2062
filter = buildObHTableFilter (null , null , Integer .MAX_VALUE , kv .getQualifier ());
2052
2063
} else {
2053
- range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (), ObObj .getMin ()));
2054
- range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (), ObObj .getMax ()));
2055
- filter = buildObHTableFilter (null , new TimeRange (0 , kv .getTimestamp () + 1 ), Integer .MAX_VALUE , kv .getQualifier ());
2064
+ range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (),
2065
+ ObObj .getMin ()));
2066
+ range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (),
2067
+ ObObj .getMax ()));
2068
+ filter = buildObHTableFilter (null , new TimeRange (0 , kv .getTimestamp () + 1 ),
2069
+ Integer .MAX_VALUE , kv .getQualifier ());
2056
2070
}
2057
2071
break ;
2058
2072
case DeleteFamily :
2059
2073
if (kv .getTimestamp () == Long .MAX_VALUE ) {
2060
- range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (), ObObj .getMin ()));
2061
- range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (), ObObj .getMax ()));
2074
+ range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (),
2075
+ ObObj .getMin ()));
2076
+ range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (),
2077
+ ObObj .getMax ()));
2062
2078
if (!isTableGroup ) {
2063
2079
filter = buildObHTableFilter (null , null , Integer .MAX_VALUE );
2064
2080
} else {
2065
- filter = buildObHTableFilter (null , null , Integer .MAX_VALUE , kv .getQualifier ());
2081
+ filter = buildObHTableFilter (null , null , Integer .MAX_VALUE ,
2082
+ kv .getQualifier ());
2066
2083
}
2067
2084
} else {
2068
- range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (), ObObj .getMin ()));
2069
- range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (), ObObj .getMax ()));
2085
+ range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (),
2086
+ ObObj .getMin ()));
2087
+ range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (),
2088
+ ObObj .getMax ()));
2070
2089
if (!isTableGroup ) {
2071
- filter = buildObHTableFilter (null , new TimeRange (0 , kv .getTimestamp () + 1 ), Integer .MAX_VALUE );
2090
+ filter = buildObHTableFilter (null , new TimeRange (0 , kv .getTimestamp () + 1 ),
2091
+ Integer .MAX_VALUE );
2072
2092
} else {
2073
- filter = buildObHTableFilter (null , new TimeRange (0 , kv .getTimestamp () + 1 ), Integer .MAX_VALUE , kv .getQualifier ());
2093
+ filter = buildObHTableFilter (null , new TimeRange (0 , kv .getTimestamp () + 1 ),
2094
+ Integer .MAX_VALUE , kv .getQualifier ());
2074
2095
}
2075
2096
}
2076
2097
break ;
2077
2098
case DeleteFamilyVersion :
2078
2099
if (kv .getTimestamp () == Long .MAX_VALUE ) {
2079
- range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (), ObObj .getMin ()));
2080
- range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (), ObObj .getMax ()));
2100
+ range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (),
2101
+ ObObj .getMin ()));
2102
+ range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (),
2103
+ ObObj .getMax ()));
2081
2104
filter = buildObHTableFilter (null , null , Integer .MAX_VALUE );
2082
2105
} else {
2083
- range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (), ObObj .getMin ()));
2084
- range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (), ObObj .getMax ()));
2106
+ range .setStartKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMin (),
2107
+ ObObj .getMin ()));
2108
+ range .setEndKey (ObRowKey .getInstance (kv .getRow (), ObObj .getMax (),
2109
+ ObObj .getMax ()));
2085
2110
if (!isTableGroup ) {
2086
- filter = buildObHTableFilter (null , new TimeRange (kv .getTimestamp (), kv .getTimestamp () + 1 ), Integer .MAX_VALUE );
2111
+ filter = buildObHTableFilter (null ,
2112
+ new TimeRange (kv .getTimestamp (), kv .getTimestamp () + 1 ),
2113
+ Integer .MAX_VALUE );
2087
2114
} else {
2088
- filter = buildObHTableFilter (null , new TimeRange (kv .getTimestamp (), kv .getTimestamp () + 1 ), Integer .MAX_VALUE , kv .getQualifier ());
2115
+ filter = buildObHTableFilter (null ,
2116
+ new TimeRange (kv .getTimestamp (), kv .getTimestamp () + 1 ),
2117
+ Integer .MAX_VALUE , kv .getQualifier ());
2089
2118
}
2090
2119
}
2091
2120
break ;
@@ -2096,8 +2125,7 @@ private QueryAndMutate buildDeleteQueryAndMutate(KeyValue kv,
2096
2125
tableQuery .addKeyRange (range );
2097
2126
return new QueryAndMutate (tableQuery , tableMutation );
2098
2127
}
2099
-
2100
-
2128
+
2101
2129
private com .alipay .oceanbase .rpc .mutation .Mutation buildMutation (KeyValue kv ,
2102
2130
ObTableOperationType operationType ,
2103
2131
boolean isTableGroup , Long TTL ) {
0 commit comments