[JBoss JIRA] (WFLY-8931) InfinispanSessionManager#getActiveSessions (active-sessions attribute in CLI) returns an incorrect count on a coordinator node in cluster
by Paul Ferraro (JIRA)
[ https://issues.jboss.org/browse/WFLY-8931?page=com.atlassian.jira.plugin.... ]
Paul Ferraro moved JBEAP-11526 to WFLY-8931:
--------------------------------------------
Project: WildFly (was: JBoss Enterprise Application Platform)
Key: WFLY-8931 (was: JBEAP-11526)
Workflow: GIT Pull Request workflow (was: CDW with loose statuses v1)
Component/s: Clustering
(was: Clustering)
Affects Version/s: 11.0.0.Alpha1
(was: 7.1.0.ER1)
> InfinispanSessionManager#getActiveSessions (active-sessions attribute in CLI) returns an incorrect count on a coordinator node in cluster
> -----------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-8931
> URL: https://issues.jboss.org/browse/WFLY-8931
> Project: WildFly
> Issue Type: Bug
> Components: Clustering
> Affects Versions: 11.0.0.Alpha1
> Reporter: Paul Ferraro
> Assignee: Paul Ferraro
>
> Since EAP 7.0.1 coming with the fix for JBEAP-4646 (upstream WFLY-6453), {{InfinispanSessionManager#getActiveSessions}} ({{active-sessions}} attribute on CLI) was changed to return active session count with current node locality.
> However, it returns an incorrect count on a cluster coordinator node. For example, when two node cluster is configured, it returns total count of active sessions. This happens regardless of using "dist" cache or using "repl" cache.
> ---
> The followings are the related code. It appears {{ConsistentHashLocality#isLocal(key)}} always returns {{true}} on a coordinator node and it causes incorrect active session count.
> {code:java|title=clustering/web/infinispan/src/main/java/org/wildfly/clustering/web/infinispan/session/InfinispanSessionManager.java}
> 268 @Override
> 269 public Set<String> getActiveSessions() {
> 270 // Omit remote sessions (i.e. when using DIST mode) as well as passivated sessions
> 271 return this.getSessions(Flag.CACHE_MODE_LOCAL, Flag.SKIP_CACHE_LOAD);
> 272 }
> :
> 280 private Set<String> getSessions(Flag... flags) {
> 281 try (Stream<? extends Key<String>> keys = this.cache.getAdvancedCache().withFlags(flags).keySet().stream()) {
> 282 return keys.filter(this.filter.and(key -> this.locality.isLocal(key))).map(key -> key.getValue()).collect(Collectors.toSet());
> 283 }
> 284 }
> {code}
> {code:java|title=clustering/infinispan/spi/src/main/java/org/wildfly/clustering/infinispan/spi/distribution/ConsistentHashLocality.java}
> 51 @Override
> 52 public boolean isLocal(Object key) {
> 53 if (this.localAddress == null) return true;
> 54 if (this.hash == null) return true;
> 55 return this.localAddress.equals(this.hash.locatePrimaryOwner(key));
> 56 }
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 11 months
[JBoss JIRA] (WFLY-8925) Mark attribute 'outbound-socket-binding' in a reverse-proxy handler as 'required'
by Romain Pelisse (JIRA)
[ https://issues.jboss.org/browse/WFLY-8925?page=com.atlassian.jira.plugin.... ]
Romain Pelisse commented on WFLY-8925:
--------------------------------------
FYI, here is the new behavior, with my proposed change:
{code:java}
[standalone@localhost:9990 /] /subsystem=undertow/configuration=handler/reverse-proxy=my-rev-proxy/host=some-host:add(outbound-socket-binding=mail-smtp)
{"outcome" => "success"}
[standalone@localhost:9990 /] /subsystem=undertow/configuration=handler/reverse-proxy=my-rev-proxy/host=some-host2:add()
{
"outcome" => "failed",
"failure-description" => "WFLYCTL0155: 'outbound-socket-binding' may not be null",
"rolled-back" => true
}
{code}
_Note: Obviously, using the mail-stmp as outbound-socket-binding makes no sense - but as it is the only defined by default, it is test out of the box._
> Mark attribute 'outbound-socket-binding' in a reverse-proxy handler as 'required'
> ---------------------------------------------------------------------------------
>
> Key: WFLY-8925
> URL: https://issues.jboss.org/browse/WFLY-8925
> Project: WildFly
> Issue Type: Bug
> Components: Web (Undertow)
> Affects Versions: 11.0.0.Alpha1
> Reporter: Romain Pelisse
> Assignee: Romain Pelisse
> Priority: Minor
>
> {{outbound-socket-binding}} attribute in {{/subsystem=undertow/configuration=handler/reverse-proxy=my-rev-proxy/host=some-host}} is not marked as '{{required}}'. Please mark it as required as if {{outbound-socket-binding}} is not specified during 'add' operation, it fails with:
> {code}
> /subsystem=undertow/configuration=handler/reverse-proxy=my-rev-proxy/host=some-host:add()
> {
> "outcome" => "failed",
> "failure-description" => {
> "WFLYCTL0412: Required services that are not installed:" => ["org.wildfly.network.outbound-socket-binding.undefined"],
> "WFLYCTL0180: Services with missing/unavailable dependencies" => ["org.wildfly.undertow.reverse-proxy.host.my-rev-proxy.some-host is missing [org.wildfly.network.outbound-socket-binding.undefined]"]
> },
> "rolled-back" => true
> }
> {code}
> I suppose when this attribute is marked as required, more pleasant failure message is given.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 11 months
[JBoss JIRA] (WFLY-8930) Race condition if timers overlap due to long running execution and short schedules if database persistence is used
by Wolf-Dieter Fink (JIRA)
Wolf-Dieter Fink created WFLY-8930:
--------------------------------------
Summary: Race condition if timers overlap due to long running execution and short schedules if database persistence is used
Key: WFLY-8930
URL: https://issues.jboss.org/browse/WFLY-8930
Project: WildFly
Issue Type: Bug
Components: EJB
Environment: Configure DB persistence for timers as file-persistence will not have a persistence check for shouldRun to lock the timer execution.
Reporter: Wolf-Dieter Fink
If timers (here calendar timer) are running longer than scheduled, or the schedule/processing get stuck do to thread or cpu bottleneck, it is possible that the updates for persistence overlap.
The issue seems that the task(1) try to finish the timer and task(2) is about to start but see the concurrency.
The DB is updated with the 'old' next timeout, but the internal Timer instance will be updated with the next possible schedule due to a race condition between the two threads updating the object.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 11 months
[JBoss JIRA] (WFLY-8930) [GSS](7.0.x) Race condition if timers overlap due to long running execution and short schedules if database persistence is used
by Wolf-Dieter Fink (JIRA)
[ https://issues.jboss.org/browse/WFLY-8930?page=com.atlassian.jira.plugin.... ]
Wolf-Dieter Fink updated WFLY-8930:
-----------------------------------
Summary: [GSS](7.0.x) Race condition if timers overlap due to long running execution and short schedules if database persistence is used (was: Race condition if timers overlap due to long running execution and short schedules if database persistence is used)
> [GSS](7.0.x) Race condition if timers overlap due to long running execution and short schedules if database persistence is used
> -------------------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-8930
> URL: https://issues.jboss.org/browse/WFLY-8930
> Project: WildFly
> Issue Type: Bug
> Components: EJB
> Environment: Configure DB persistence for timers as file-persistence will not have a persistence check for shouldRun to lock the timer execution.
> Reporter: Wolf-Dieter Fink
>
> If timers (here calendar timer) are running longer than scheduled, or the schedule/processing get stuck do to thread or cpu bottleneck, it is possible that the updates for persistence overlap.
> The issue seems that the task(1) try to finish the timer and task(2) is about to start but see the concurrency.
> The DB is updated with the 'old' next timeout, but the internal Timer instance will be updated with the next possible schedule due to a race condition between the two threads updating the object.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 11 months
[JBoss JIRA] (WFLY-8929) Race condition if timers overlap due to long running execution and short schedules if database persistence is used
by Wolf-Dieter Fink (JIRA)
Wolf-Dieter Fink created WFLY-8929:
--------------------------------------
Summary: Race condition if timers overlap due to long running execution and short schedules if database persistence is used
Key: WFLY-8929
URL: https://issues.jboss.org/browse/WFLY-8929
Project: WildFly
Issue Type: Bug
Components: EJB
Environment: Configure DB persistence for timers as file-persistence will not have a persistence check for shouldRun to lock the timer execution.
Reporter: Wolf-Dieter Fink
Attachments: server-extract.log
If timers (here calendar timer) are running longer than scheduled, or the schedule/processing get stuck do to thread or cpu bottleneck, it is possible that the updates for persistence overlap.
The issue seems that the task(1) try to finish the timer and task(2) is about to start but see the concurrency.
The DB is updated with the 'old' next timeout, but the internal Timer instance will be updated with the next possible schedule due to a race condition between the two threads updating the object.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 11 months
[JBoss JIRA] (ELY-1238) Elytron client, wildfly-config.xml, User is not able to use credential-store-reference with clear-text password to access credential store. Store name and alias must be incorrectly defined.
by Tomas Hofman (JIRA)
[ https://issues.jboss.org/browse/ELY-1238?page=com.atlassian.jira.plugin.s... ]
Tomas Hofman reassigned ELY-1238:
---------------------------------
Assignee: Tomas Hofman (was: Darran Lofthouse)
> Elytron client, wildfly-config.xml, User is not able to use credential-store-reference with clear-text password to access credential store. Store name and alias must be incorrectly defined.
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: ELY-1238
> URL: https://issues.jboss.org/browse/ELY-1238
> Project: WildFly Elytron
> Issue Type: Bug
> Components: Authentication Client, Credential Store
> Reporter: Hynek Švábek
> Assignee: Tomas Hofman
> Priority: Blocker
>
> Elytron client, wildfly-config.xml, User is not able to use credential-store-reference with clear-text password to access credential store. Store name and alias must be incorrectly defined.
> There must work these two scenarious:
> * User uses only clear-text password <credential-store-reference clear-text="pass123"/>
> * User uses password obtained from another credential store <credential-store-reference store="CS_STORE_NAME" alias="pwd"/> and both "store" and "alias" must be defined.
> I see problem in ElytronXmlParser [1], where is always used "storeName" and then "alias" to create new CredentialStoreCredentialSource(credentialStore, alias);
> *How to reproduce*
> * Please use files which are attached
> * set right path to cs.jceks in wildfly-config.xml
> * run EAP server
> * run client
> {code}
> [hsvabek@dhcp-10-40-5-166 bin]$ ./jboss-cli.sh -c -Dwildfly.config.url=wildfly-config.xml
> java.lang.ExceptionInInitializerError: org.wildfly.client.config.ConfigXMLParseException: ELY09503: Credential store name "null" not defined
> at file:/home/hsvabek/securityworkspace/VERIFICATION/2017_06_08_wfly-config.xml/jboss-eap-7.1/bin/wildfly-config.xml:9:4: ELY09503: Credential store name "null" not defined
> at file:/home/hsvabek/securityworkspace/VERIFICATION/2017_06_08_wfly-config.xml/jboss-eap-7.1/bin/wildfly-config.xml:9:4
> {code}
> When you set correct store to credential-store-reference, then you get error about "alias is required..."
> [1] https://github.com/wildfly-security/wildfly-elytron/blob/1.1.0.Beta47/src...
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 11 months
[JBoss JIRA] (LOGMGR-161) AsyncHandler is always creating a stacktrace dump
by David Lloyd (JIRA)
[ https://issues.jboss.org/browse/LOGMGR-161?page=com.atlassian.jira.plugin... ]
David Lloyd commented on LOGMGR-161:
------------------------------------
Note that in Java 9 and later, the operation becomes substantially less expensive due to the StackWalker API.
> AsyncHandler is always creating a stacktrace dump
> -------------------------------------------------
>
> Key: LOGMGR-161
> URL: https://issues.jboss.org/browse/LOGMGR-161
> Project: JBoss Log Manager
> Issue Type: Enhancement
> Components: core
> Affects Versions: 2.1.0.Alpha1
> Reporter: Koen Janssens
>
> I have noticed that when introducing an AsyncHandler for logging, all log statement are copied before being put on the queue and as part of that copy a complete stack dump is done.
> This might be useful if the stack info is used by a downstream formatter (eg for line number identification), but even if the line numbers are not used anywhere, this still happens.
> I think this behavior should be at least optional.
> Source Location: org.jboss.logmanager.ExtLogRecord#copyAll
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 11 months