[rhq] modules/enterprise
by Jiri Kremser
modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeAlertHistoryView.java | 91 ++++++++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeDatasource.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeTableView.java | 1
modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/alert/AlertHistoryView.java | 6
modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages.properties | 2
modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_cs.properties | 2
modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_de.properties | 2
modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ja.properties | 2
modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ko.properties | 2
modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_pt.properties | 2
modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ru.properties | 2
modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_zh.properties | 2
12 files changed, 94 insertions(+), 22 deletions(-)
New commits:
commit 3c5dc0d98419a209df10a832259e85cfc1608c98
Author: Jirka Kremser <jkremser(a)redhat.com>
Date: Mon Nov 25 19:30:24 2013 +0100
[BZ 1005922] - Selecting grouped fired alerts in chosen time range does not work - hiding the filters if the alerts are shown in the grouped mode and vice versa.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeAlertHistoryView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeAlertHistoryView.java
index 835cb7c..ad362e3 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeAlertHistoryView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeAlertHistoryView.java
@@ -19,7 +19,9 @@
package org.rhq.coregui.client.admin.storage;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -36,6 +38,7 @@ import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.grid.SummaryFunction;
+import org.rhq.core.domain.authz.Permission;
import org.rhq.core.domain.cloud.StorageNode;
import org.rhq.core.domain.criteria.AlertCriteria;
import org.rhq.core.domain.criteria.StorageNodeCriteria;
@@ -48,6 +51,9 @@ import org.rhq.coregui.client.alert.AlertDataSource;
import org.rhq.coregui.client.alert.AlertHistoryView;
import org.rhq.coregui.client.components.form.DateFilterItem;
import org.rhq.coregui.client.components.table.AbstractTableAction;
+import org.rhq.coregui.client.components.table.RecordExtractor;
+import org.rhq.coregui.client.components.table.ResourceAuthorizedTableAction;
+import org.rhq.coregui.client.components.table.TableAction;
import org.rhq.coregui.client.components.table.TableActionEnablement;
import org.rhq.coregui.client.gwt.GWTServiceLookup;
import org.rhq.coregui.client.inventory.resource.AncestryUtil;
@@ -55,12 +61,11 @@ import org.rhq.coregui.client.util.StringUtility;
import org.rhq.coregui.client.util.message.Message;
/**
- * The view for accessing alerts on storage node resource and its children.
+ * The view for presenting alerts on storage node resource and its children.
*
* @author Jirka Kremser
*/
public class StorageNodeAlertHistoryView extends AlertHistoryView {
- private boolean isGouped = true;
private final HTMLFlow header;
private final int storageNodeId;
private final boolean allStorageNodes;
@@ -98,6 +103,8 @@ public class StorageNodeAlertHistoryView extends AlertHistoryView {
if (isShowFilterForm()) {
setFilterFormItems(startDateFilter, spacerItem, endDateFilter);
}
+ startDateFilter.setVisible(false);
+ endDateFilter.setVisible(false);
}
@Override
@@ -243,9 +250,8 @@ public class StorageNodeAlertHistoryView extends AlertHistoryView {
return;
}
final StorageNode node = storageNodes.get(0);
- header
- .setContents("<div style='text-align: center; font-weight: bold; font-size: medium;'>" + MSG.view_adminTopology_storageNodes_node() + " ("
- + node.getAddress() + ")</div>");
+ header.setContents("<div style='text-align: center; font-weight: bold; font-size: medium;'>"
+ + MSG.view_adminTopology_storageNodes_node() + " (" + node.getAddress() + ")</div>");
}
public void onFailure(Throwable caught) {
@@ -291,17 +297,82 @@ public class StorageNodeAlertHistoryView extends AlertHistoryView {
}
@Override
- protected void configureTable() {
- super.configureTable();
- addTableAction(MSG.view_adminTopology_storageNodes_groupAlerts(), new AbstractTableAction(
+ protected void setupTableInteractions(final boolean hasWriteAccess) {
+ // We override this method, because button enablement implementation from super class for "Delete All"
+ // and "Acknowledge All" doesn't work correctly for table with using grouping. Also adding additional
+ // button for enabling / disabling the alerts grouping.
+
+ addTableAction(MSG.common_button_delete(), MSG.view_alerts_delete_confirm(), new ResourceAuthorizedTableAction(
+ StorageNodeAlertHistoryView.this, TableActionEnablement.ANY, (hasWriteAccess ? null
+ : Permission.MANAGE_ALERTS), new RecordExtractor<Integer>() {
+ public Collection<Integer> extract(Record[] records) {
+ List<Integer> result = new ArrayList<Integer>(records.length);
+ for (Record record : records) {
+ result.add(record.getAttributeAsInt("resourceId"));
+ }
+ return result;
+ }
+ }) {
+
+ public void executeAction(ListGridRecord[] selection, Object actionValue) {
+ delete(selection);
+ }
+ });
+ addTableAction(MSG.common_button_ack(), MSG.view_alerts_ack_confirm(), new ResourceAuthorizedTableAction(
+ StorageNodeAlertHistoryView.this, TableActionEnablement.ANY, (hasWriteAccess ? null
+ : Permission.MANAGE_ALERTS), new RecordExtractor<Integer>() {
+ public Collection<Integer> extract(Record[] records) {
+ List<Integer> result = new ArrayList<Integer>(records.length);
+ for (Record record : records) {
+ result.add(record.getAttributeAsInt("resourceId"));
+ }
+ return result;
+ }
+ }) {
+
+ public void executeAction(ListGridRecord[] selection, Object actionValue) {
+ acknowledge(selection);
+ }
+ });
+ addTableAction(MSG.common_button_delete_all(), MSG.view_alerts_delete_confirm_all(), new TableAction() {
+ public boolean isEnabled(ListGridRecord[] selection) {
+ ListGrid grid = getListGrid();
+ ListGridRecord[] records = (null != grid) ? grid.getRecords() : null;
+ return (hasWriteAccess && grid != null && records != null && records.length > 0);
+ }
+
+ public void executeAction(ListGridRecord[] selection, Object actionValue) {
+ deleteAll();
+ }
+ });
+ addTableAction(MSG.common_button_ack_all(), MSG.view_alerts_ack_confirm_all(), new TableAction() {
+ public boolean isEnabled(ListGridRecord[] selection) {
+ ListGrid grid = getListGrid();
+ ListGridRecord[] records = (null != grid) ? grid.getRecords() : null;
+ return (hasWriteAccess && grid != null && records != null && records.length > 0);
+ }
+
+ public void executeAction(ListGridRecord[] selection, Object actionValue) {
+ acknowledgeAll();
+ }
+ });
+
+ // alerts grouping
+ Map<String, Object> items = new LinkedHashMap<String, Object>(2);
+ items.put("On", true);
+ items.put("Off", false);
+ addTableAction(MSG.view_adminTopology_storageNodes_groupAlerts(), null, items, new AbstractTableAction(
TableActionEnablement.ALWAYS) {
public void executeAction(ListGridRecord[] selection, Object actionValue) {
- if (isGouped) {
+ if (!(Boolean) actionValue) {
getListGrid().ungroup();
+ startDateFilter.show();
+ endDateFilter.show();
} else {
getListGrid().groupBy("name");
+ startDateFilter.hide();
+ endDateFilter.hide();
}
- isGouped = !isGouped;
refreshTableInfo();
}
});
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeDatasource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeDatasource.java
index 7bd2f45..5226e2b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeDatasource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeDatasource.java
@@ -119,7 +119,7 @@ public class StorageNodeDatasource extends RPCDataSource<StorageNodeLoadComposit
fields.add(idField);
fields.add(FIELD_ADDRESS.getListGridField("*"));
- fields.add(FIELD_ALERTS.getListGridField("165"));
+ fields.add(FIELD_ALERTS.getListGridField("170"));
ListGridField field = FIELD_MEMORY.getListGridField("120");
field.setShowHover(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeTableView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeTableView.java
index e8e4db0..a43b9e8 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeTableView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/admin/storage/StorageNodeTableView.java
@@ -157,6 +157,7 @@ public class StorageNodeTableView extends TableSection<StorageNodeDatasource> {
}
}
+ @SuppressWarnings("unused")
private void scheduleUnacknowledgedAlertsPollingJob(final ListGrid listGrid) {
new Timer() {
public void run() {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/alert/AlertHistoryView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/alert/AlertHistoryView.java
index 80f53c6..2716fb2 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/alert/AlertHistoryView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/alert/AlertHistoryView.java
@@ -247,7 +247,7 @@ public class AlertHistoryView extends TableSection<AlertDataSource> implements H
}
}
- void delete(ListGridRecord[] records) {
+ protected void delete(ListGridRecord[] records) {
final int[] alertIds = new int[records.length];
for (int i = 0, selectionLength = records.length; i < selectionLength; i++) {
ListGridRecord record = records[i];
@@ -270,7 +270,7 @@ public class AlertHistoryView extends TableSection<AlertDataSource> implements H
});
}
- void deleteAll() {
+ protected void deleteAll() {
int rpcTimeout = 10000 + getListGrid().getTotalRows();
GWTServiceLookup.getAlertService(rpcTimeout).deleteAlertsByContext(context, new AsyncCallback<Integer>() {
public void onSuccess(Integer resultCount) {
@@ -308,7 +308,7 @@ public class AlertHistoryView extends TableSection<AlertDataSource> implements H
});
}
- void acknowledgeAll() {
+ protected void acknowledgeAll() {
int rpcTimeout = 10000 + getListGrid().getTotalRows();
GWTServiceLookup.getAlertService(rpcTimeout).acknowledgeAlertsByContext(context, new AsyncCallback<Integer>() {
public void onSuccess(Integer resultCount) {
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages.properties
index c6bc2e0..fce30c3 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages.properties
@@ -790,7 +790,7 @@ view_adminTopology_storageNodes_field_failedOperation = Failed Operation
view_adminTopology_storageNodes_field_gossipPort = Gossip Port
view_adminTopology_storageNodes_field_memory = Memory
view_adminTopology_storageNodes_field_operationMode = Operation Mode
-view_adminTopology_storageNodes_groupAlerts = (Un)Group Alerts
+view_adminTopology_storageNodes_groupAlerts = Grouping
view_adminTopology_storageNodes_link = Link to Resource
view_adminTopology_storageNodes_load_actuallyOwnsName = Ownership
view_adminTopology_storageNodes_load_actuallyOwnsHover = Refers to the percentage of keys that a node owns.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_cs.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_cs.properties
index c37daf2..bf31a7c 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_cs.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_cs.properties
@@ -810,7 +810,7 @@ view_adminTopology_storageNodes_field_failedOperation = Neúspěšná operace
view_adminTopology_storageNodes_field_gossipPort = Gossip port
view_adminTopology_storageNodes_field_memory = Paměť
view_adminTopology_storageNodes_field_operationMode = Operační mód
-view_adminTopology_storageNodes_groupAlerts = (Od)skupit výstrahy
+view_adminTopology_storageNodes_groupAlerts = Seskupení
view_adminTopology_storageNodes_link = Odkaz na zdroj
view_adminTopology_storageNodes_load_actuallyOwnsName = Vlastnictví
view_adminTopology_storageNodes_load_actuallyOwnsHover = Kolik procent všech klíčů uzel vlastní.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_de.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_de.properties
index f48df72..6240e70 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_de.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_de.properties
@@ -779,7 +779,7 @@ view_adminTopology_storageNodes = Speicherknoten
##view_adminTopology_storageNodes_field_gossipPort = Gossip Port
##view_adminTopology_storageNodes_field_memory = Memory
##view_adminTopology_storageNodes_field_operationMode = Operation Mode
-##view_adminTopology_storageNodes_groupAlerts = (Un)Group Alerts
+##view_adminTopology_storageNodes_groupAlerts = Grouping
##view_adminTopology_storageNodes_link = Link to Resource
##view_adminTopology_storageNodes_load_actuallyOwnsName = Ownership
##view_adminTopology_storageNodes_load_actuallyOwnsHover = Refers to the percentage of keys that a node owns.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ja.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ja.properties
index 1276fb3..c728ba9 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ja.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ja.properties
@@ -773,7 +773,7 @@ view_adminTopology_servers = サーバー
##view_adminTopology_storageNodes_field_gossipPort = Gossip Port
##view_adminTopology_storageNodes_field_memory = Memory
##view_adminTopology_storageNodes_field_operationMode = Operation Mode
-##view_adminTopology_storageNodes_groupAlerts = (Un)Group Alerts
+##view_adminTopology_storageNodes_groupAlerts = Grouping
##view_adminTopology_storageNodes_link = Link to Resource
##view_adminTopology_storageNodes_load_actuallyOwnsName = Ownership
##view_adminTopology_storageNodes_load_actuallyOwnsHover = Refers to the percentage of keys that a node owns.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ko.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ko.properties
index 48d1849..6385c5c 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ko.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ko.properties
@@ -734,7 +734,7 @@ view_adminTopology_servers = 서버
##view_adminTopology_storageNodes_field_gossipPort = Gossip Port
##view_adminTopology_storageNodes_field_memory = Memory
##view_adminTopology_storageNodes_field_operationMode = Operation Mode
-##view_adminTopology_storageNodes_groupAlerts = (Un)Group Alerts
+##view_adminTopology_storageNodes_groupAlerts = Grouping
##view_adminTopology_storageNodes_link = Link to Resource
##view_adminTopology_storageNodes_load_actuallyOwnsName = Ownership
##view_adminTopology_storageNodes_load_actuallyOwnsHover = Refers to the percentage of keys that a node owns.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_pt.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_pt.properties
index 78c3aa6..e3e8e1f 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_pt.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_pt.properties
@@ -794,7 +794,7 @@ view_adminTopology_servers = Servidores
##view_adminTopology_storageNodes_field_gossipPort = Gossip Port
##view_adminTopology_storageNodes_field_memory = Memory
##view_adminTopology_storageNodes_field_operationMode = Operation Mode
-##view_adminTopology_storageNodes_groupAlerts = (Un)Group Alerts
+##view_adminTopology_storageNodes_groupAlerts = Grouping
##view_adminTopology_storageNodes_link = Link to Resource
##view_adminTopology_storageNodes_load_actuallyOwnsName = Ownership
##view_adminTopology_storageNodes_load_actuallyOwnsHover = Refers to the percentage of keys that a node owns.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ru.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ru.properties
index 609d59b..0c6c6dd 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ru.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_ru.properties
@@ -699,7 +699,7 @@
##view_adminTopology_storageNodes_field_gossipPort = Gossip Port
##view_adminTopology_storageNodes_field_memory = Memory
##view_adminTopology_storageNodes_field_operationMode = Operation Mode
-##view_adminTopology_storageNodes_groupAlerts = (Un)Group Alerts
+##view_adminTopology_storageNodes_groupAlerts = Grouping
##view_adminTopology_storageNodes_link = Link to Resource
##view_adminTopology_storageNodes_load_actuallyOwnsName = Ownership
##view_adminTopology_storageNodes_load_actuallyOwnsHover = Refers to the percentage of keys that a node owns.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_zh.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_zh.properties
index 4d7468d..2e67a61 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_zh.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/coregui/client/Messages_zh.properties
@@ -786,7 +786,7 @@ view_adminTopology_servers = \u670d\u52a1\u5668
##view_adminTopology_storageNodes_field_gossipPort = Gossip Port
##view_adminTopology_storageNodes_field_memory = Memory
##view_adminTopology_storageNodes_field_operationMode = Operation Mode
-##view_adminTopology_storageNodes_groupAlerts = (Un)Group Alerts
+##view_adminTopology_storageNodes_groupAlerts = Grouping
##view_adminTopology_storageNodes_link = Link to Resource
##view_adminTopology_storageNodes_load_actuallyOwnsName = Ownership
##view_adminTopology_storageNodes_load_actuallyOwnsHover = Refers to the percentage of keys that a node owns.
10 years, 6 months
[rhq] Changes to 'jsanda/storage-compression'
by John Sanda
New branch 'jsanda/storage-compression' available with the following commits:
commit 8abae320f171795161a893a9611afaaf5a9ee76e
Author: John Sanda <jsanda(a)redhat.com>
Date: Mon Nov 25 12:08:13 2013 -0500
[BZ 1015628] use lz4 compressor
This commit turns on table compression using the LZ4Compressor. I am
repackaging lz4-1.1.0.jar to strip out the native libraries so that only the
java impl is used.
10 years, 6 months
[rhq] Branch 'jay-avail' - modules/core
by Jay Shaughnessy
modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java | 8 ++++++++
1 file changed, 8 insertions(+)
New commits:
commit 602e706c1149637600b221b9fba3f29d6598a72d
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Nov 25 10:58:38 2013 -0500
Add logging for "enable on change to UP avail"
diff --git a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java
index 55859f8..9fada2c 100644
--- a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java
+++ b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java
@@ -177,6 +177,7 @@ public class AvailabilityProxy implements AvailabilityFacet, Callable<Availabili
} else if (availAsyncConsecutiveTimeouts == AVAIL_SYNC_TIMEOUT_LIMIT) {
// log one time that we are disabling synchronous checks for this resource
++availAsyncConsecutiveTimeouts;
+ // TODO: SHOULD THIS BE DEBUG? (must be same as enable message above)
log.info("Disabling synchronous availability collection for " + resourceComponent + "; ["
+ AVAIL_SYNC_TIMEOUT_LIMIT + "] consective timeouts exceeding [" + AVAIL_SYNC_TIMEOUT + "ms]");
}
@@ -220,7 +221,14 @@ public class AvailabilityProxy implements AvailabilityFacet, Callable<Availabili
// resource comes up we should give it a chance to respond quickly and provide live avail.
if (result != last) {
if (result == UP) {
+
+ // TODO: SHOULD THIS BE DEBUG? (must be same as disable message above)
+ if (availAsyncConsecutiveTimeouts >= AVAIL_SYNC_TIMEOUT_LIMIT) {
+ log.info("Enabling synchronous availability collection for " + resourceComponent
+ + "; Availability has just changed from [" + last.name() + "] to UP.");
+ }
availAsyncConsecutiveTimeouts = 0;
+
}
last = result;
}
10 years, 6 months
[rhq] Branch 'jay-avail' - modules/core
by Jay Shaughnessy
modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
New commits:
commit 9ec2a048c48b7e156b6e4d067f7505f3ef750be3
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Nov 25 10:51:37 2013 -0500
change the prop names such that we use a consistent prefix but so that
an existing value for rhq.agent.plugins.availability-scan.timeout is not
used, because the past semantics are different. We don't want an accidental
override in an upgrade scenario.
diff --git a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java
index aefa87e..55859f8 100644
--- a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java
+++ b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java
@@ -64,7 +64,8 @@ public class AvailabilityProxy implements AvailabilityFacet, Callable<Availabili
static {
int syncAvailTimeout;
try {
- syncAvailTimeout = Integer.parseInt(System.getProperty("rhq.agent.plugins.availability-scan.timeout",
+ // unlikely to be changed but back-door configurable
+ syncAvailTimeout = Integer.parseInt(System.getProperty("rhq.agent.plugins.availability-scan.sync-timeout",
"1000"));
} catch (Throwable t) {
syncAvailTimeout = 1000;
@@ -73,8 +74,9 @@ public class AvailabilityProxy implements AvailabilityFacet, Callable<Availabili
int syncAvailTimeoutLimit;
try {
+ // unlikely to be changed but back-door configurable
syncAvailTimeoutLimit = Integer.parseInt(System.getProperty(
- "rhq.agent.plugins.availability-scan.timeout-limit", "5"));
+ "rhq.agent.plugins.availability-scan.sync-timeout-limit", "5"));
} catch (Throwable t) {
syncAvailTimeoutLimit = 5;
}
10 years, 6 months
[rhq] Changes to 'jay-avail'
by Jay Shaughnessy
New branch 'jay-avail' available with the following commits:
commit ac7a01f0376fbe873ede5b2750caa56b89bae1f3
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Nov 25 10:22:17 2013 -0500
Change the property names to re-purpose existing prop and have others conform
to the naming.
commit 5f24fca42da6633287ad82c19f2dc4ea4296b8fc
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Fri Nov 22 17:29:54 2013 -0500
[971556] Better design for availability checking
Applying Elias's patch and updating with some additional
logic:
- use a fixed thread pool to limit thread creation exposure
- make things configurable
- allow newly UP resources to use sync avail
- add some logging and comments
10 years, 6 months
[rhq] Changes to 'bug/949065'
by Thomas Segismont
New branch 'bug/949065' available with the following commits:
commit 75c5f570f33ab52cdc069c3511b43bad1206c3d3
Author: Elias Ross <genman(a)noderunner.net>
Date: Thu Nov 21 15:45:20 2013 +0100
Bug 991149 - Refactor Plugin Container Services initialization
Since there have been other race conditions in the past (as documented in the
code in a few spots), it feels there is an overall design issue at fault:
Objects are initialized in arbitrary order, enforced by the use of 'listeners',
but this was done as a reaction to what bugs were found.
The solution employed here is to use constructors and immutability when
possible. Handles to other components should be done using object fields, not
an object registry/singleton pattern. I tried to eliminate the use of
PluginContainer.getInstance().getXXX(), since in many cases references could be
null depending on the order of how objects are initialized. It also makes clear
what objects really depend on what objects. The use of 'PC.getInstance()'
should probably be entirely removed, since it's bug-prone, but I'll leave the
rest of the cleanup for later.
Testability is generally improved, as test/mock instances can simply be
'injected' using the constructor, not by having to create methods
that get overridden.
10 years, 6 months
[rhq] Changes to 'bug/949065'
by Thomas Segismont
New branch 'bug/949065' available with the following commits:
commit 5abc917b71a955577edf22559e891a07b9d8b1eb
Author: Elias Ross <genman(a)noderunner.net>
Date: Thu Nov 21 15:45:20 2013 +0100
Bug 991149 - Refactor Plugin Container Services initialization
Since there have been other race conditions in the past (as documented in the
code in a few spots), it feels there is an overall design issue at fault:
Objects are initialized in arbitrary order, enforced by the use of 'listeners',
but this was done as a reaction to what bugs were found.
The solution employed here is to use constructors and immutability when
possible. Handles to other components should be done using object fields, not
an object registry/singleton pattern. I tried to eliminate the use of
PluginContainer.getInstance().getXXX(), since in many cases references could be
null depending on the order of how objects are initialized. It also makes clear
what objects really depend on what objects. The use of 'PC.getInstance()'
should probably be entirely removed, since it's bug-prone, but I'll leave the
rest of the cleanup for later.
Testability is generally improved, as test/mock instances can simply be
'injected' using the constructor, not by having to create methods
that get overridden.
10 years, 6 months
[rhq] Changes to 'bug/949065'
by Thomas Segismont
New branch 'bug/949065' available with the following commits:
commit b7c6a76bd182ff69e2015683894f1baa38554a35
Author: Elias Ross <genman(a)noderunner.net>
Date: Thu Nov 21 15:45:20 2013 +0100
Bug 991149 - Refactor Plugin Container Services initialization
Since there have been other race conditions in the past (as documented in the
code in a few spots), it feels there is an overall design issue at fault:
Objects are initialized in arbitrary order, enforced by the use of 'listeners',
but this was done as a reaction to what bugs were found.
The solution employed here is to use constructors and immutability when
possible. Handles to other components should be done using object fields, not
an object registry/singleton pattern. I tried to eliminate the use of
PluginContainer.getInstance().getXXX(), since in many cases references could be
null depending on the order of how objects are initialized. It also makes clear
what objects really depend on what objects. The use of 'PC.getInstance()'
should probably be entirely removed, since it's bug-prone, but I'll leave the
rest of the cleanup for later.
Testability is generally improved, as test/mock instances can simply be
'injected' using the constructor, not by having to create methods
that get overridden.
10 years, 6 months