[JBoss JIRA] (ISPN-6054) Docker image cannot build website
by Emmanuel Bernard (JIRA)
Emmanuel Bernard created ISPN-6054:
--------------------------------------
Summary: Docker image cannot build website
Key: ISPN-6054
URL: https://issues.jboss.org/browse/ISPN-6054
Project: Infinispan
Issue Type: Bug
Components: Documentation-Core
Reporter: Emmanuel Bernard
There are several issues with the Docker image:
1. it uses Ruby 2.2 which apparently make Awestruct 0.5.7.RC2 + Guard fail
2. the Gemfile.lock conflicts
For 1. the error is as followed https://gist.github.com/emmanuelbernard/0524a56f2f859569c634
The best is for Awestruct to fix the issue (assuming the analysis is correct). The alternative is to install rvm inside the docker image to controll the ruby version used. It requires a few experimentations (probably 2 to 4 hours of work)
For 2. the problem is as followed:
- docker build installs and create a Gemfile.lock with specific versions
- the host might already have a Gemfile.lock or worse, does not have one
- when running docker, we do bind the host directory on top of the docker directory
- so the host Gemfile.lock is used (different from Docker's gemfile.lock) and this will look for potentially incorrect dependencies and fail
The solutions to 2 are:
- create a build_docker.sh which will build the docker image, remove Gemfile.lock from the host and rerun the rake setup step to rebuild the Gemfile.lock to the right value ; since the host dir will be mapped, the Gemfile.lock will survive a docker image restart
- change the scripts to store the Gemfile.lock somewhere in a non mapped directory of the docker image and use an environment variable set in Dockerfile to influence our Rakefile (we do that already with the env variable BIND)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 4 months
[JBoss JIRA] (ISPN-6050) RemoveExpiredCommand should check the version
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-6050?page=com.atlassian.jira.plugin.... ]
Dan Berindei commented on ISPN-6050:
------------------------------------
{{RemoveExpiredCommand.toString()}} should also use {{Util.toStr()}} for the key and the value, to ease debugging in HotRod tests.
> RemoveExpiredCommand should check the version
> ---------------------------------------------
>
> Key: ISPN-6050
> URL: https://issues.jboss.org/browse/ISPN-6050
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Affects Versions: 8.1.0.Final
> Reporter: Dan Berindei
> Assignee: William Burns
> Fix For: 8.2.0.Alpha1
>
>
> Cluster-wide expiration is not optional, so it cannot require versioning. But it could and it should use versions when they are present, e.g. with HotRod.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 4 months
[JBoss JIRA] (ISPN-6051) ClusterExpirationManager missing locking
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-6051?page=com.atlassian.jira.plugin.... ]
Dan Berindei commented on ISPN-6051:
------------------------------------
The missing locking is causing some of the failures in the client {{ExpiryTest}}. The test only allows entries to expire after the update, i.e. when they have value {{[B0x033e027631}}. But the log below shows how a {{RemovedExpiredCommand}} is created with value {{[B0x033e027630}} after the next test method updates the value:
{noformat}
09:41:06,627 INFO (testng-ExpiryTest:) [UnitTestTestNGListener] Starting test testGlobalExpiryReplaceWithVersion(org.infinispan.client.hotrod.ExpiryTest)
09:41:06,636 TRACE (HotRodServerWorker-3-1:) [ReadCommittedEntry] Updating entry (key=[B0x034b00000001 removed=false valid=true changed=true created=true value=[B0x033e027630 metadata=EmbeddedExpirableMetadata{lifespan=6000, maxIdle=-1, version=NumericVersion{version=4294967307}}, providedMetadata=EmbeddedExpirableMetadata{lifespan=6000, maxIdle=-1, version=NumericVersion{version=4294967307}})
09:41:06,654 TRACE (HotRodServerWorker-3-1:) [ReadCommittedEntry] Updating entry (key=[B0x034b00000001 removed=false valid=true changed=true created=false value=[B0x033e027631 metadata=EmbeddedExpirableMetadata{lifespan=6000, maxIdle=-1, version=NumericVersion{version=4294967308}}, providedMetadata=EmbeddedExpirableMetadata{lifespan=6000, maxIdle=-1, version=NumericVersion{version=4294967308}})
09:41:06,670 INFO (testng-ExpiryTest:) [UnitTestTestNGListener] Test testGlobalExpiryReplaceWithVersion(org.infinispan.client.hotrod.ExpiryTest) succeeded.
09:41:06,671 INFO (testng-ExpiryTest:) [UnitTestTestNGListener] Starting test testGlobalExpiryReplaceWithVersionFlag(org.infinispan.client.hotrod.ExpiryTest)
09:41:06,673 TRACE (HotRodServerWorker-3-1:) [ReadCommittedEntry] Updating entry (key=[B0x034b00000001 removed=false valid=true changed=true created=true value=[B0x033e027630 metadata=EmbeddedExpirableMetadata{lifespan=6000, maxIdle=-1, version=NumericVersion{version=4294967309}}, providedMetadata=EmbeddedExpirableMetadata{lifespan=6000, maxIdle=-1, version=NumericVersion{version=4294967309}})
09:41:06,688 TRACE (async-thread-ExpiryTestNodeA-p5-t4:) [InvocationContextInterceptor] Invoked with command RemoveExpiredCommand{key=[B0x034b00000001, value=[B0x033e027630, lifespan=6000} and InvocationContext [org.infinispan.context.SingleKeyNonTxInvocationContext@6a76fe4b]
{noformat}
> ClusterExpirationManager missing locking
> ----------------------------------------
>
> Key: ISPN-6051
> URL: https://issues.jboss.org/browse/ISPN-6051
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 8.1.0.Final
> Reporter: Dan Berindei
> Assignee: William Burns
> Fix For: 8.2.0.Alpha1
>
>
> Because {{ClusterExpirationManager.handleLifespanExpired()}} doesn't lock the entry and the value is actually read in the async thread, the created {{RemoveExpiredCommand}} sometimes uses a newer value written by another thread.
> Could be fixed by using {{DataContainer.compute()}} to check expiration and create the {{RemoveExpirationCommand}}.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 4 months
[JBoss JIRA] (ISPN-6051) ClusterExpirationManager missing locking
by Dan Berindei (JIRA)
Dan Berindei created ISPN-6051:
----------------------------------
Summary: ClusterExpirationManager missing locking
Key: ISPN-6051
URL: https://issues.jboss.org/browse/ISPN-6051
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 8.1.0.Final
Reporter: Dan Berindei
Assignee: William Burns
Fix For: 8.2.0.Alpha1
Because {{ClusterExpirationManager.handleLifespanExpired()}} doesn't lock the entry and the value is actually read in the async thread, the created {{RemoveExpiredCommand}} sometimes uses a newer value written by another thread.
Could be fixed by using {{DataContainer.compute()}} to check expiration and create the {{RemoveExpirationCommand}}.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 4 months
[JBoss JIRA] (ISPN-6051) ClusterExpirationManager missing locking
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-6051?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-6051:
-------------------------------
Status: Open (was: New)
> ClusterExpirationManager missing locking
> ----------------------------------------
>
> Key: ISPN-6051
> URL: https://issues.jboss.org/browse/ISPN-6051
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 8.1.0.Final
> Reporter: Dan Berindei
> Assignee: William Burns
> Fix For: 8.2.0.Alpha1
>
>
> Because {{ClusterExpirationManager.handleLifespanExpired()}} doesn't lock the entry and the value is actually read in the async thread, the created {{RemoveExpiredCommand}} sometimes uses a newer value written by another thread.
> Could be fixed by using {{DataContainer.compute()}} to check expiration and create the {{RemoveExpirationCommand}}.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 4 months