CID 163940: FindBugs: Performance (FB.SBSC_USE_STRINGBUFFER_CONCATENATION)
com.salesforce.dva.argus.service.tsdb.PhoenixTSDBEngine.upsertMetrics(Connection, Metric) concatenates strings using + in a loop.
CID 163939: FindBugs: Performance (FB.SBSC_USE_STRINGBUFFER_CONCATENATION)
com.salesforce.dva.argus.service.tsdb.PhoenixTSDBEngine.getPhoenixQuery(MetricQuery) concatenates strings using + in a loop.
203 tagWhereClaue += " AND \"" + tagEntry.getKey() + "\" IN ('" + tagValue + "')";
204 }
205 }
206
207 String selectSql = MessageFormat.format("SELECT {0}(val) val, ts epoch_time, display_name, units {1} FROM {2}"
208 + " WHERE ts <= ? AND ts >= ? {3}"
CID 163932: Resource leaks (RESOURCE_LEAK)
Variable "preparedStmt" going out of scope leaks the resource it refers to.
161 } catch(SQLException sqle) {
162 _logger.warn("Failed to read data from Phoenix.", sqle);
163 }
164
165 return new ArrayList<>(metrics.values());
166 }
** CID 163929: (RESOURCE_LEAK)
/ArgusCore/src/main/java/com/salesforce/dva/argus/service/tsdb/PhoenixTSDBService.java: 61 in com.salesforce.dva.argus.service.tsdb.PhoenixTSDBService.(com.salesforce.dva.argus.system.SystemConfiguration, com.salesforce.dva.argus.service.MonitorService)()
/ArgusCore/src/main/java/com/salesforce/dva/argus/service/tsdb/PhoenixTSDBService.java: 67 in com.salesforce.dva.argus.service.tsdb.PhoenixTSDBService.(com.salesforce.dva.argus.system.SystemConfiguration, com.salesforce.dva.argus.service.MonitorService)()
*** CID 163929: (RESOURCE_LEAK)
/ArgusCore/src/main/java/com/salesforce/dva/argus/service/tsdb/PhoenixTSDBService.java: 61 in com.salesforce.dva.argus.service.tsdb.PhoenixTSDBService.(com.salesforce.dva.argus.system.SystemConfiguration, com.salesforce.dva.argus.service.MonitorService)()
55 _connection = DriverManager.getConnection(_phoenixJDBCUrl, props);
56 } catch (SQLException e) {
57 throw new SystemException("Failed to create connection to phoenix using jdbc url: " + _phoenixJDBCUrl, e);
58 }
59
60 try {
CID 163929: (RESOURCE_LEAK)
Failing to save or close resource created by "_connection.createStatement()" leaks it.
61 _connection.createStatement().execute("CREATE SEQUENCE IF NOT EXISTS METRIC_ID_SEQ");
62 } catch (SQLException e) {
63 throw new SystemException("Failed to create sequence : " + _phoenixJDBCUrl, e);
64 }
65
66 try {
/ArgusCore/src/main/java/com/salesforce/dva/argus/service/tsdb/PhoenixTSDBService.java: 67 in com.salesforce.dva.argus.service.tsdb.PhoenixTSDBService.(com.salesforce.dva.argus.system.SystemConfiguration, com.salesforce.dva.argus.service.MonitorService)()
61 _connection.createStatement().execute("CREATE SEQUENCE IF NOT EXISTS METRIC_ID_SEQ");
62 } catch (SQLException e) {
63 throw new SystemException("Failed to create sequence : " + _phoenixJDBCUrl, e);
64 }
65
66 try {
CID 163929: (RESOURCE_LEAK)
Failing to save or close resource created by "_connection.createStatement()" leaks it.
67 _connection.createStatement().execute("CREATE TABLE ARGUS.METRICS (id INTEGER NOT NULL, ts DATE NOT NULL, val DOUBLE, display_name varchar, units varchar CONSTRAINT PK PRIMARY KEY(id,ts)) APPEND_ONLY_SCHEMA = true, UPDATE_CACHE_FREQUENCY = 900000, AUTO_PARTITION_SEQ=METRIC_ID_SEQ");
68 // TODO change the create table ddl to IF NOT EXISTS PHOENIX-3660 is fixed
69 } catch (TableAlreadyExistsException e) {
70 System.out.println();
71 } catch (SQLException e) {
72 throw new SystemException("Failed to create base table: " + _phoenixJDBCUrl, e);
** CID 163940: FindBugs: Performance (FB.SBSC_USE_STRINGBUFFER_CONCATENATION) /ArgusCore/src/main/java/com/salesforce/dva/argus/service/tsdb/PhoenixTSDBEngine.java: 71 in com.salesforce.dva.argus.service.tsdb.PhoenixTSDBEngine.upsertMetrics(java.sql.Connection, com.salesforce.dva.argus.entity.Metric)()
*** CID 163940: FindBugs: Performance (FB.SBSC_USE_STRINGBUFFER_CONCATENATION) /ArgusCore/src/main/java/com/salesforce/dva/argus/service/tsdb/PhoenixTSDBEngine.java: 71 in com.salesforce.dva.argus.service.tsdb.PhoenixTSDBEngine.upsertMetrics(java.sql.Connection, com.salesforce.dva.argus.entity.Metric)() 65 66 String viewName = getPhoenixViewName(metric.getScope(), metric.getMetric()); 67 68 String tagkeys = "", tagvalues = ""; 69 for(Map.Entry<String, String> tagEntry : metric.getTags().entrySet()) { 70 tagkeys += "\"" + tagEntry.getKey() + "\",";
** CID 163939: FindBugs: Performance (FB.SBSC_USE_STRINGBUFFER_CONCATENATION) /ArgusCore/src/main/java/com/salesforce/dva/argus/service/tsdb/PhoenixTSDBEngine.java: 203 in com.salesforce.dva.argus.service.tsdb.PhoenixTSDBEngine.getPhoenixQuery(com.salesforce.dva.argus.service.tsdb.MetricQuery)()
*** CID 163939: FindBugs: Performance (FB.SBSC_USE_STRINGBUFFER_CONCATENATION) /ArgusCore/src/main/java/com/salesforce/dva/argus/service/tsdb/PhoenixTSDBEngine.java: 203 in com.salesforce.dva.argus.service.tsdb.PhoenixTSDBEngine.getPhoenixQuery(com.salesforce.dva.argus.service.tsdb.MetricQuery)() 197 List tagList = Arrays.asList(tagValue.split("\|"));
198 String tagValues = tagList.stream()
199 .map((s) -> "'" + s + "'")
200 .collect(Collectors.joining(", "));
201 tagWhereClaue += " AND \"" + tagEntry.getKey() + "\" IN (" + tagValues + ")";
202 } else {
** CID 163932: Resource leaks (RESOURCE_LEAK) /ArgusCore/src/main/java/com/salesforce/dva/argus/service/tsdb/PhoenixTSDBEngine.java: 161 in com.salesforce.dva.argus.service.tsdb.PhoenixTSDBEngine.selectMetrics(java.sql.Connection, com.salesforce.dva.argus.service.tsdb.MetricQuery)()
*** CID 163932: Resource leaks (RESOURCE_LEAK) /ArgusCore/src/main/java/com/salesforce/dva/argus/service/tsdb/PhoenixTSDBEngine.java: 161 in com.salesforce.dva.argus.service.tsdb.PhoenixTSDBEngine.selectMetrics(java.sql.Connection, com.salesforce.dva.argus.service.tsdb.MetricQuery)() 155 metric.setDatapoints(datapoints); 156 metric.setDisplayName(displayName); 157 metric.setUnits(units); 158 metrics.put(identifier, metric); 159 } 160 }
** CID 163929: (RESOURCE_LEAK) /ArgusCore/src/main/java/com/salesforce/dva/argus/service/tsdb/PhoenixTSDBService.java: 61 in com.salesforce.dva.argus.service.tsdb.PhoenixTSDBService.(com.salesforce.dva.argus.system.SystemConfiguration, com.salesforce.dva.argus.service.MonitorService)()
/ArgusCore/src/main/java/com/salesforce/dva/argus/service/tsdb/PhoenixTSDBService.java: 67 in com.salesforce.dva.argus.service.tsdb.PhoenixTSDBService.(com.salesforce.dva.argus.system.SystemConfiguration, com.salesforce.dva.argus.service.MonitorService)()
*** CID 163929: (RESOURCE_LEAK) /ArgusCore/src/main/java/com/salesforce/dva/argus/service/tsdb/PhoenixTSDBService.java: 61 in com.salesforce.dva.argus.service.tsdb.PhoenixTSDBService.(com.salesforce.dva.argus.system.SystemConfiguration, com.salesforce.dva.argus.service.MonitorService)()
55 _connection = DriverManager.getConnection(_phoenixJDBCUrl, props);
56 } catch (SQLException e) {
57 throw new SystemException("Failed to create connection to phoenix using jdbc url: " + _phoenixJDBCUrl, e);
58 }
59
60 try {