[jira] [Created] (SLING-2946) IOOBE in TopicRoundRobinJobQueue
Timothee Maret created SLING-2946: - Summary: IOOBE in TopicRoundRobinJobQueue Key: SLING-2946 URL: https://issues.apache.org/jira/browse/SLING-2946 Project: Sling Issue Type: Bug Components: Engine Affects Versions: Extensions Event 3.1.4 Reporter: Timothee Maret The TopicRoundRobinJobQueue throws IndexOutOfBoundsException which fill the logs. The reason is that the 'topicIndex' is never decreased (or set to 0) when the 'topics' array list can be decreased in two methods: * clear * removeAllJobs -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2945) ClusterLoadTest failures
[ https://issues.apache.org/jira/browse/SLING-2945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13701883#comment-13701883 ] Robert Munteanu commented on SLING-2945: [~egli] - I've taken a look at the tests and tried to implement them using the RetryLoop, for maximum flexibility. I'm not sure if the semantics are preserved ( the RetryLoop waits for each instance on each iteration, instead of waiting for all instances once at the start of the iteration ). The tests consistently pass for me, tested with a heavy CPU/IO process running on the same time, whereas they were failing before. I also needed to add a try/catch to the dumpRepo calls, they failed probably due to concurrent session access ( will paste stack trace below ). Anyway, I'd appreciate if you could take a look at the patch and let me know if I can apply it as-is or if it needs rework. javax.jcr.InvalidItemStateException: Item does not exist anymore: 4b3d508e-5e4c-4385-a6d4-68f07d8dce89 at org.apache.jackrabbit.core.ItemImpl.itemSanityCheck(ItemImpl.java:116) at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:90) at org.apache.jackrabbit.core.NodeImpl.getNodes(NodeImpl.java:2141) at org.apache.sling.discovery.impl.setup.Instance.dump(Instance.java:393) at org.apache.sling.discovery.impl.setup.Instance.dump(Instance.java:396) at org.apache.sling.discovery.impl.setup.Instance.dump(Instance.java:396) at org.apache.sling.discovery.impl.setup.Instance.dump(Instance.java:396) at org.apache.sling.discovery.impl.setup.Instance.dump(Instance.java:396) at org.apache.sling.discovery.impl.setup.Instance.dump(Instance.java:396) at org.apache.sling.discovery.impl.setup.Instance.dump(Instance.java:396) at org.apache.sling.discovery.impl.setup.Instance.dump(Instance.java:396) at org.apache.sling.discovery.impl.setup.Instance.dump(Instance.java:396) at org.apache.sling.discovery.impl.setup.Instance.dump(Instance.java:396) at org.apache.sling.discovery.impl.setup.Instance.dumpRepo(Instance.java:355) at org.apache.sling.discovery.impl.cluster.ClusterLoadTest.doTest(ClusterLoadTest.java:145) at org.apache.sling.discovery.impl.cluster.ClusterLoadTest.testSevenInstances(ClusterLoadTest.java:102) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) at org.junit.rules.Verifier$1.evaluate(Verifier.java:33) at org.junit.rules.RunRules.evaluate(RunRules.java:18) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) ClusterLoadTest failures Key: SLING-2945 URL: https://issues.apache.org/jira/browse/SLING-2945 Project: Sling Issue Type: Bug Components: Extensions Reporter: Robert Munteanu Assignee: Stefan Egli
Re: SLING-2803 validation module, hierarchical structures and extensible types
On 04.07.2013, at 07:54, Carsten Ziegeler cziege...@apache.org wrote: As I wrote, a hierarchy is only supported by a single implementation for reading - not for writing, so it doesn't make sense to me to support this in validation as this can't be written through the resource api in the same way. The post servlet is splitting paths and creates a resource for each part of the path except the last part which is the property on the last resource. Validation is only about reading, so there is no problem if the ModifiableValueMap doesn't support relative paths, it would never be used by validation code. IMO the relative paths in the JcrPropertyMap are a great feature (at least for reading). Relative paths are a good invention and shorten the code a lot. Cheers, Alex
Re: SLING-2803 validation module, hierarchical structures and extensible types
On 04.07.2013, at 14:56, Carsten Ziegeler cziege...@apache.org wrote: Adding this - maybe as an optional service - into the resource resolver makes it also impossible to bypass validation - the validation is always done regardless whether the changes are done through the post servlet, any other servlet, or some server side code running in the background. We should be careful with the imposed new processing overhead of this. There needs to be control over it, and IMO an active whitelisting for which validators (i.e. resource types) this would happen and when. And the simplest way to do that is to have custom application code call the validation service (one-liner) themselves and do it automatically only in the post servlet (but also with an option to enable/disable individual validators). Cheers, Alex
[jira] [Commented] (SLING-2945) ClusterLoadTest failures
[ https://issues.apache.org/jira/browse/SLING-2945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13701899#comment-13701899 ] Stefan Egli commented on SLING-2945: [~rombert], excellent. That patch looks good. I might add some more asserts to the Condition there to check not only the count but if the correct instances are visible. But I can apply that after patch. Re the exception: jup, I should probably have done some more safety-checks there - but the catch is fine for now. ClusterLoadTest failures Key: SLING-2945 URL: https://issues.apache.org/jira/browse/SLING-2945 Project: Sling Issue Type: Bug Components: Extensions Reporter: Robert Munteanu Assignee: Stefan Egli Attachments: SLING-2945-retry-loop.patch This test has failed recently on Jenkins at [1], with the message: --- T E S T S --- Running org.apache.sling.discovery.impl.cluster.ClusterLoadTest Build timed out (after 150 minutes). Marking the build as failed. Results : Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 To debug infra issues, I've also set up a Travis CI build at [2] . This test also fails there, but the error message is clearer: Caused by: javax.jcr.PathNotFoundException: /var/discovery/impl . The full build log is at [3]. I also have errors when repeatedly running the test locally, so it's not just CI flakiness. [1] : https://builds.apache.org/view/S-Z/view/Sling/job/sling-trunk-1.6/1715/console [2]: http://travis-ci.org/rombert/sling/ [3]: https://s3.amazonaws.com/archive.travis-ci.org/jobs/8746894/log.txt -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
Jenkins build is still unstable: sling-trunk-1.7 » Apache Sling Launchpad Testing WAR version #89
See https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.launchpad.testing-war/89/
Re: SLING-2803 validation module, hierarchical structures and extensible types
Even if there is processing overhead - and I think this is really minimal compared to persisting the data - storing unvalidated and therefore maybe wrong data might haver a much higher impact on the application. And I totally agree, this needs to be configurable (controllable) - but limiting this to the post servlet is way too restrictive. Carsten 2013/7/8 Alexander Klimetschek aklim...@adobe.com On 04.07.2013, at 14:56, Carsten Ziegeler cziege...@apache.org wrote: Adding this - maybe as an optional service - into the resource resolver makes it also impossible to bypass validation - the validation is always done regardless whether the changes are done through the post servlet, any other servlet, or some server side code running in the background. We should be careful with the imposed new processing overhead of this. There needs to be control over it, and IMO an active whitelisting for which validators (i.e. resource types) this would happen and when. And the simplest way to do that is to have custom application code call the validation service (one-liner) themselves and do it automatically only in the post servlet (but also with an option to enable/disable individual validators). Cheers, Alex -- Carsten Ziegeler cziege...@apache.org
Jenkins build is still unstable: sling-trunk-1.7 #89
See https://builds.apache.org/job/sling-trunk-1.7/changes
[jira] [Assigned] (SLING-2946) IOOBE in TopicRoundRobinJobQueue
[ https://issues.apache.org/jira/browse/SLING-2946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Carsten Ziegeler reassigned SLING-2946: --- Assignee: Carsten Ziegeler IOOBE in TopicRoundRobinJobQueue Key: SLING-2946 URL: https://issues.apache.org/jira/browse/SLING-2946 Project: Sling Issue Type: Bug Components: Engine Affects Versions: Extensions Event 3.1.4 Reporter: Timothee Maret Assignee: Carsten Ziegeler Attachments: SLING-2946.patch The TopicRoundRobinJobQueue throws IndexOutOfBoundsException which fill the logs. The reason is that the 'topicIndex' is never decreased (or set to 0) when the 'topics' array list can be decreased in two methods: * clear * removeAllJobs -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (SLING-2946) IOOBE in TopicRoundRobinJobQueue
[ https://issues.apache.org/jira/browse/SLING-2946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Carsten Ziegeler resolved SLING-2946. - Resolution: Fixed Fix Version/s: Extensions Event 3.2.0 Thanks for your patch, it's applied IOOBE in TopicRoundRobinJobQueue Key: SLING-2946 URL: https://issues.apache.org/jira/browse/SLING-2946 Project: Sling Issue Type: Bug Components: Engine Affects Versions: Extensions Event 3.1.4 Reporter: Timothee Maret Assignee: Carsten Ziegeler Fix For: Extensions Event 3.2.0 Attachments: SLING-2946.patch The TopicRoundRobinJobQueue throws IndexOutOfBoundsException which fill the logs. The reason is that the 'topicIndex' is never decreased (or set to 0) when the 'topics' array list can be decreased in two methods: * clear * removeAllJobs -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2945) ClusterLoadTest failures
[ https://issues.apache.org/jira/browse/SLING-2945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13701951#comment-13701951 ] Robert Munteanu commented on SLING-2945: Thanks for the review, I've committed the changes in http://svn.apache.org/viewvc?view=revisionrevision=r1500670 ClusterLoadTest failures Key: SLING-2945 URL: https://issues.apache.org/jira/browse/SLING-2945 Project: Sling Issue Type: Bug Components: Extensions Reporter: Robert Munteanu Assignee: Stefan Egli Attachments: SLING-2945-retry-loop.patch This test has failed recently on Jenkins at [1], with the message: --- T E S T S --- Running org.apache.sling.discovery.impl.cluster.ClusterLoadTest Build timed out (after 150 minutes). Marking the build as failed. Results : Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 To debug infra issues, I've also set up a Travis CI build at [2] . This test also fails there, but the error message is clearer: Caused by: javax.jcr.PathNotFoundException: /var/discovery/impl . The full build log is at [3]. I also have errors when repeatedly running the test locally, so it's not just CI flakiness. [1] : https://builds.apache.org/view/S-Z/view/Sling/job/sling-trunk-1.6/1715/console [2]: http://travis-ci.org/rombert/sling/ [3]: https://s3.amazonaws.com/archive.travis-ci.org/jobs/8746894/log.txt -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (SLING-2947) Merge installer api back into core
Carsten Ziegeler created SLING-2947: --- Summary: Merge installer api back into core Key: SLING-2947 URL: https://issues.apache.org/jira/browse/SLING-2947 Project: Sling Issue Type: Task Components: Installer Affects Versions: Installer Core 3.4.6 Reporter: Carsten Ziegeler Assignee: Carsten Ziegeler Fix For: Installer Core 3.4.8 I recently came across a problem when upgrading the installer (core) by itself: - the old version is pre 3.4.0 and therefore a single bundle including api - the new version is post 3.4.0 where api and core needs to be installed The old installer detects that a new core bundle should be installed and runs its update task and updates from 3.3.8 to 3.4.2 - unfortunately at this point, the api bundle is not installed yet and therefore the installer core does not resolve and that's the end of it. We'll run into similar problems once we update the API and the core requires the new api. So we have two options, add more special casing for handling this situation - or revert SLING-2527 and merge the api back into the core - making it a single unit. I would go the latter way as this is much simpler to handle and avoids adding another special casing which is now even trickier as it requires to check for two bundles - and if they are compatible etc. I'll go the cleaner road and merge the api back -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
Jenkins build is still unstable: sling-trunk-1.7 » Apache Sling Launchpad Testing WAR version #90
See https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.launchpad.testing-war/90/
Jenkins build is still unstable: sling-trunk-1.7 #90
See https://builds.apache.org/job/sling-trunk-1.7/changes
Re: SLING-2803 validation module, hierarchical structures and extensible types
+1 - validation can also be necessary on dataimport through services, to have a default integration of this service in the default Post Handler is IMHO a mandatory but not stricktly bound extension to this service. Dominik On Mon, Jul 8, 2013 at 12:19 PM, Carsten Ziegeler cziege...@apache.orgwrote: Even if there is processing overhead - and I think this is really minimal compared to persisting the data - storing unvalidated and therefore maybe wrong data might haver a much higher impact on the application. And I totally agree, this needs to be configurable (controllable) - but limiting this to the post servlet is way too restrictive. Carsten 2013/7/8 Alexander Klimetschek aklim...@adobe.com On 04.07.2013, at 14:56, Carsten Ziegeler cziege...@apache.org wrote: Adding this - maybe as an optional service - into the resource resolver makes it also impossible to bypass validation - the validation is always done regardless whether the changes are done through the post servlet, any other servlet, or some server side code running in the background. We should be careful with the imposed new processing overhead of this. There needs to be control over it, and IMO an active whitelisting for which validators (i.e. resource types) this would happen and when. And the simplest way to do that is to have custom application code call the validation service (one-liner) themselves and do it automatically only in the post servlet (but also with an option to enable/disable individual validators). Cheers, Alex -- Carsten Ziegeler cziege...@apache.org
Build failed in Jenkins: sling-trunk-1.6 » Apache Sling Launchpad Testing WAR version #1719
See https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/1719/ -- [...truncated 6 lines...] [INFO] --- maven-clean-plugin:2.2:clean (default-clean) @ org.apache.sling.launchpad.testing-war --- [INFO] Deleting file-set: https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/ws/ (included: [derby.log, cachedir, sling, jackrabbit], excluded: []) [INFO] [INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-java) @ org.apache.sling.launchpad.testing-war --- [INFO] [INFO] Executing tasks main: [INFO] Executed tasks [INFO] --- maven-antrun-plugin:1.7:run (set-bundle-required-execution-environment) @ org.apache.sling.launchpad.testing-war --- [INFO] [INFO] Using bundle list file from /home/jenkins/jenkins-slave/workspace/sling-trunk-1.6/trunk/launchpad/builder/target/bundleList.xml [INFO] merging partial bundle list for org.apache.sling:org.apache.sling.launchpad.test-bundles:0.0.1-SNAPSHOT [INFO] merging configuration from partial bundle list for org.apache.sling:org.apache.sling.launchpad.test-bundles:0.0.1-SNAPSHOT Downloading: http://repository.apache.org/snapshots/org/apache/sling/org.apache.sling.launchpad.test-bundles/0.0.1-SNAPSHOT/org.apache.sling.launchpad.test-bundles-0.0.1-SNAPSHOT-bundlelistconfig.zip [INFO] Copying base artifact from /home/jenkins/jenkins-slave/workspace/sling-trunk-1.6/trunk/launchpad/base/target/org.apache.sling.launchpad.base-2.5.1-SNAPSHOT.jar to https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/ws/target/launchpad-bundles/resources/org.apache.sling.launchpad.base.jar. [INFO] --- maven-launchpad-plugin:2.1.2:prepare-package (prepare-package) @ org.apache.sling.launchpad.testing-war --- [INFO] Copying bundle from /home/jenkins/jenkins-slave/maven-repositories/0/commons-io/commons-io/1.4/commons-io-1.4.jar to https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/ws/target/launchpad-bundles/resources/bundles/0/commons-io-1.4.jar [INFO] Copying bundle from /home/jenkins/jenkins-slave/maven-repositories/0/commons-fileupload/commons-fileupload/1.2.2/commons-fileupload-1.2.2.jar to https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/ws/target/launchpad-bundles/resources/bundles/0/commons-fileupload-1.2.2.jar [INFO] Copying bundle from /home/jenkins/jenkins-slave/maven-repositories/0/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar to https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/ws/target/launchpad-bundles/resources/bundles/0/commons-collections-3.2.1.jar [INFO] Copying bundle from /home/jenkins/jenkins-slave/maven-repositories/0/commons-codec/commons-codec/1.6/commons-codec-1.6.jar to https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/ws/target/launchpad-bundles/resources/bundles/0/commons-codec-1.6.jar [INFO] Copying bundle from /home/jenkins/jenkins-slave/maven-repositories/0/commons-lang/commons-lang/2.5/commons-lang-2.5.jar to https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/ws/target/launchpad-bundles/resources/bundles/0/commons-lang-2.5.jar [INFO] Copying bundle from /home/jenkins/jenkins-slave/maven-repositories/0/org/apache/commons/commons-math/2.2/commons-math-2.2.jar to https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/ws/target/launchpad-bundles/resources/bundles/0/commons-math-2.2.jar [INFO] Copying bundle from /home/jenkins/jenkins-slave/maven-repositories/0/org/apache/geronimo/bundles/commons-httpclient/3.1_1/commons-httpclient-3.1_1.jar to https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/ws/target/launchpad-bundles/resources/bundles/0/commons-httpclient-3.1_1.jar [INFO] Copying bundle from /home/jenkins/jenkins-slave/workspace/sling-trunk-1.6/trunk/bundles/commons/osgi/target/org.apache.sling.commons.osgi-2.2.1-SNAPSHOT.jar to https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/ws/target/launchpad-bundles/resources/bundles/0/org.apache.sling.commons.osgi-2.2.1-SNAPSHOT.jar [INFO] Copying bundle from /home/jenkins/jenkins-slave/maven-repositories/0/org/apache/sling/org.apache.sling.commons.mime/2.1.4/org.apache.sling.commons.mime-2.1.4.jar to https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/ws/target/launchpad-bundles/resources/bundles/0/org.apache.sling.commons.mime-2.1.4.jar [INFO] Copying bundle from
Jenkins build is back to stable : sling-trunk-1.6 » Apache Sling Resource-Based Discovery Service #1719
See https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.discovery.impl/1719/changes
Jenkins build became unstable: sling-trunk-1.6 » Apache Sling Sample Integration Tests #1719
See https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.testing.samples.integrationtests/1719/
Re: SLING-2803 validation module, hierarchical structures and extensible types
Hi, Apart from Carsten nobody else provided me with an answer to my question, which in the end boils down to what kind of validation is needed in Sling: Depending on what we need in Sling I see two solutions: 1. extend the current API and implementation to be able to validate tree-like structures - better suited for validating requests rather than resources, given that most ValueMap implementations don't provide us with the children's properties 2. erase and start over with a new validation framework at the ResourceResolver level that would handle validation right before the commit phase - this implies that we actually validate changed resources (credits to Carsten for this idea) Devs, which solution sounds better to you and why? What would be the minimum requirements for adding some validation bundles (api + impl) in contrib? Thanks, Radu On Mon, Jul 8, 2013 at 3:24 PM, Dominik Süß dominik.su...@gmail.com wrote: +1 - validation can also be necessary on dataimport through services, to have a default integration of this service in the default Post Handler is IMHO a mandatory but not stricktly bound extension to this service. Dominik On Mon, Jul 8, 2013 at 12:19 PM, Carsten Ziegeler cziege...@apache.org wrote: Even if there is processing overhead - and I think this is really minimal compared to persisting the data - storing unvalidated and therefore maybe wrong data might haver a much higher impact on the application. And I totally agree, this needs to be configurable (controllable) - but limiting this to the post servlet is way too restrictive. Carsten 2013/7/8 Alexander Klimetschek aklim...@adobe.com On 04.07.2013, at 14:56, Carsten Ziegeler cziege...@apache.org wrote: Adding this - maybe as an optional service - into the resource resolver makes it also impossible to bypass validation - the validation is always done regardless whether the changes are done through the post servlet, any other servlet, or some server side code running in the background. We should be careful with the imposed new processing overhead of this. There needs to be control over it, and IMO an active whitelisting for which validators (i.e. resource types) this would happen and when. And the simplest way to do that is to have custom application code call the validation service (one-liner) themselves and do it automatically only in the post servlet (but also with an option to enable/disable individual validators). Cheers, Alex -- Carsten Ziegeler cziege...@apache.org
Re: SLING-2803 validation module, hierarchical structures and extensible types
Hi Radu, regarding the first part of your mail: I see validation as generic check which allows to read (and explicitly not modify, I wouldn't mess with autofixing) data from anywhere in the system (inkluding resourcetree as well as OSGi Services) and return either true or false and optionally some metadata like what caused it to fail (and probably some resoltionhints). Best regards Dominik On Mon, Jul 8, 2013 at 2:42 PM, Radu Cotescu r...@apache.org wrote: Hi, Apart from Carsten nobody else provided me with an answer to my question, which in the end boils down to what kind of validation is needed in Sling: Depending on what we need in Sling I see two solutions: 1. extend the current API and implementation to be able to validate tree-like structures - better suited for validating requests rather than resources, given that most ValueMap implementations don't provide us with the children's properties 2. erase and start over with a new validation framework at the ResourceResolver level that would handle validation right before the commit phase - this implies that we actually validate changed resources (credits to Carsten for this idea) Devs, which solution sounds better to you and why? What would be the minimum requirements for adding some validation bundles (api + impl) in contrib? Thanks, Radu On Mon, Jul 8, 2013 at 3:24 PM, Dominik Süß dominik.su...@gmail.com wrote: +1 - validation can also be necessary on dataimport through services, to have a default integration of this service in the default Post Handler is IMHO a mandatory but not stricktly bound extension to this service. Dominik On Mon, Jul 8, 2013 at 12:19 PM, Carsten Ziegeler cziege...@apache.org wrote: Even if there is processing overhead - and I think this is really minimal compared to persisting the data - storing unvalidated and therefore maybe wrong data might haver a much higher impact on the application. And I totally agree, this needs to be configurable (controllable) - but limiting this to the post servlet is way too restrictive. Carsten 2013/7/8 Alexander Klimetschek aklim...@adobe.com On 04.07.2013, at 14:56, Carsten Ziegeler cziege...@apache.org wrote: Adding this - maybe as an optional service - into the resource resolver makes it also impossible to bypass validation - the validation is always done regardless whether the changes are done through the post servlet, any other servlet, or some server side code running in the background. We should be careful with the imposed new processing overhead of this. There needs to be control over it, and IMO an active whitelisting for which validators (i.e. resource types) this would happen and when. And the simplest way to do that is to have custom application code call the validation service (one-liner) themselves and do it automatically only in the post servlet (but also with an option to enable/disable individual validators). Cheers, Alex -- Carsten Ziegeler cziege...@apache.org
[jira] [Commented] (SLING-2940) JCR queries for jcr:language: avoid using fn:lower-case
[ https://issues.apache.org/jira/browse/SLING-2940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13702007#comment-13702007 ] Thomas Mueller commented on SLING-2940: --- Any news about when the patch might be applied, or problems with the patch? JCR queries for jcr:language: avoid using fn:lower-case --- Key: SLING-2940 URL: https://issues.apache.org/jira/browse/SLING-2940 Project: Sling Issue Type: Improvement Components: Extensions Reporter: Thomas Mueller Attachments: SLING-2940.patch In SLING-2121, the query was changed to support both lowercase and uppercase country codes in locales, for example en_GB and en_gb. To do that, fn:lower-case(jcr:language) = 'en_gb' is currently used. While it works, the usage of fn:lower-case is problematic for the query engine in Jackrabbit and specially Oak, because it is quite hard to use an index in this case. To improve performance of this query with Oak, I suggest to use the longer form with or: jcr:language = 'en_gb' or jcr:language = 'en_GB'. In this case, Jackrabbit / Oak can use an index. See also OAK-882 for index usage for or conditions. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
Re: SLING-2803 validation module, hierarchical structures and extensible types
On 08.07.2013, at 14:42, Radu Cotescu r...@apache.org wrote: Depending on what we need in Sling I see two solutions: 1. extend the current API and implementation to be able to validate tree-like structures - better suited for validating requests rather than resources, given that most ValueMap implementations don't provide us with the children's properties 2. erase and start over with a new validation framework at the ResourceResolver level that would handle validation right before the commit phase - this implies that we actually validate changed resources (credits to Carsten for this idea) I think Validation should be its own service that you can call for resource /foo explicitly, an entire subtree or based on transient changes in JCR. This separates concerns properly. Then the question is in which places it gets called. Sling POST servlet is the main use case. But -1 on building it into ResourceResolver.save() for now - this is a huge change we should not do before we don't have experience and feel comfortable. I am not sure if we should ever do it... because it bakes in validation into the infrastructure layer, which is just another schema and as we know with JCR, less schema is better for evolution. For example, nobody is using extended node types with value constraints in JCR, and in Sling we always point out the great flexibility of the sling:resourceType property. There are good reasons for it. So IMO applications should be in control over validation, by explicitly calling that validation service before they do a session.save(). And regarding the mentioned imports: especially for imports, you usually want to switch off validation to make things faster or avoid little issues (that you can fix/migrate later) break the entire import. If we learn more how those validations are used and once the framework is stable and performance-proven, we can start again to think about hooking that automatically in for everthing. Just my 2 cents, Alex
Jenkins build became unstable: sling-trunk-1.7 » Apache Sling Event Support #91
See https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.event/91/
Re: SLING-2803 validation module, hierarchical structures and extensible types
Of course, validation is a separate service - my idea was that the resolver could call this (optionally) on commit() - please note we're talking about the Sling API here, so we deal with a resource resolver and resources - not with sessions and nodes. I'm fine with having the validation as a separate step, which needs to be called explicitly. But I repeat, validation should keep the resource API in mind and in general a ValueMap gives you just the properties of a resource and paths are not working. And also, validation has to be usable without a request. And then again, I guess the transient space of the resource resolver is the best place. In order to do proper validation on the transient space, you need to know, what has been created/updated/deleted. So the validator API needs a way to give this as an input. Carsten 2013/7/8 Alexander Klimetschek aklim...@adobe.com On 08.07.2013, at 14:42, Radu Cotescu r...@apache.org wrote: Depending on what we need in Sling I see two solutions: 1. extend the current API and implementation to be able to validate tree-like structures - better suited for validating requests rather than resources, given that most ValueMap implementations don't provide us with the children's properties 2. erase and start over with a new validation framework at the ResourceResolver level that would handle validation right before the commit phase - this implies that we actually validate changed resources (credits to Carsten for this idea) I think Validation should be its own service that you can call for resource /foo explicitly, an entire subtree or based on transient changes in JCR. This separates concerns properly. Then the question is in which places it gets called. Sling POST servlet is the main use case. But -1 on building it into ResourceResolver.save() for now - this is a huge change we should not do before we don't have experience and feel comfortable. I am not sure if we should ever do it... because it bakes in validation into the infrastructure layer, which is just another schema and as we know with JCR, less schema is better for evolution. For example, nobody is using extended node types with value constraints in JCR, and in Sling we always point out the great flexibility of the sling:resourceType property. There are good reasons for it. So IMO applications should be in control over validation, by explicitly calling that validation service before they do a session.save(). And regarding the mentioned imports: especially for imports, you usually want to switch off validation to make things faster or avoid little issues (that you can fix/migrate later) break the entire import. If we learn more how those validations are used and once the framework is stable and performance-proven, we can start again to think about hooking that automatically in for everthing. Just my 2 cents, Alex -- Carsten Ziegeler cziege...@apache.org
[jira] [Assigned] (SLING-2940) JCR queries for jcr:language: avoid using fn:lower-case
[ https://issues.apache.org/jira/browse/SLING-2940?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Carsten Ziegeler reassigned SLING-2940: --- Assignee: Carsten Ziegeler JCR queries for jcr:language: avoid using fn:lower-case --- Key: SLING-2940 URL: https://issues.apache.org/jira/browse/SLING-2940 Project: Sling Issue Type: Improvement Components: Extensions Reporter: Thomas Mueller Assignee: Carsten Ziegeler Attachments: SLING-2940.patch In SLING-2121, the query was changed to support both lowercase and uppercase country codes in locales, for example en_GB and en_gb. To do that, fn:lower-case(jcr:language) = 'en_gb' is currently used. While it works, the usage of fn:lower-case is problematic for the query engine in Jackrabbit and specially Oak, because it is quite hard to use an index in this case. To improve performance of this query with Oak, I suggest to use the longer form with or: jcr:language = 'en_gb' or jcr:language = 'en_GB'. In this case, Jackrabbit / Oak can use an index. See also OAK-882 for index usage for or conditions. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (SLING-2948) Servlet archetype - set encoding for generated project
Robert Munteanu created SLING-2948: -- Summary: Servlet archetype - set encoding for generated project Key: SLING-2948 URL: https://issues.apache.org/jira/browse/SLING-2948 Project: Sling Issue Type: Bug Components: Maven Plugins and Archetypes Affects Versions: Servlet Archetype 1.0.0 Reporter: Robert Munteanu Assignee: Robert Munteanu Priority: Trivial Fix For: Servlet Archetype 1.0.2 Currently the generated servlet archetype does not set the encoding for the generated project. This does not follow Maven best practices, and generates warning when building. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-1778) Symlinks
[ https://issues.apache.org/jira/browse/SLING-1778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13702063#comment-13702063 ] Carsten Ziegeler commented on SLING-1778: - Just curious, why do you think we should add both patches to the extensions? Symlinks Key: SLING-1778 URL: https://issues.apache.org/jira/browse/SLING-1778 Project: Sling Issue Type: New Feature Components: JCR Reporter: Julian Sedding Attachments: 130704_symlinks-0.0.4.patch, symlinks.patch I have implemented a ResourceProvider, which allows to create symlink nodes in the JCR repository. A symlink node has a sling:symlinkTarget property, which should contain a valid JCR path. JCR content from the sling:symlinkTarget path is then exposed below the symlink node. There is a mixin node type, sling:Symlink with a mandatory property sling:symlinkTarget and an optional property sling:overlayable. Additionally, there is a convenience node type, sling:SymlinkResource, which extends from sling:symlinkTarget and nt:unstructured. ResourceProvider instances are registered for existing symlinks when the bundle is started. Modifications are taken care of via JCR observation. To get started: * apply the attached patch to a trunk checkout * build and install the bundle * create a symlink node, pointing to some existing content * access the symlink node e.g. via a browser -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2903) launchpad/testing TestSuite fails with JUnit 4 tests
[ https://issues.apache.org/jira/browse/SLING-2903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13702072#comment-13702072 ] Robert Munteanu commented on SLING-2903: This seems to still happen in Jenkins, see https://builds.apache.org/view/S-Z/view/Sling/job/sling-trunk-1.6/1720/console . launchpad/testing TestSuite fails with JUnit 4 tests Key: SLING-2903 URL: https://issues.apache.org/jira/browse/SLING-2903 Project: Sling Issue Type: Bug Components: Testing Reporter: Bertrand Delacretaz Assignee: Bertrand Delacretaz Fix For: Launchpad Testing 7 I changed the ServerSideScriptsTest to JUnit 4 style yesterday and failed to notice that this breaks the launchpad/testing test suite: junit.framework.AssertionFailedError: org.apache.sling.launchpad.webapp.integrationtest.ServerSideScriptsTest.ScriptableTest does not extend TestCase at junit.framework.Assert.fail(Assert.java:50) ... at junit.framework.TestSuite.runTest(TestSuite.java:243) at org.apache.sling.launchpad.testing.LoggingSuite.runTest(LoggingSuite.java:77) at junit.framework.TestSuite.run(TestSuite.java:238) at org.apache.sling.launchpad.testing.LoggingSuite.run(LoggingSuite.java:65) ... -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
Re: svn commit: r1500794 - in /sling/trunk/maven/archetypes/servlet/src: main/resources/archetype-resources/pom.xml test/resources/projects/normal/reference/pom.xml
On Mon, Jul 8, 2013 at 6:32 PM, Robert Munteanu rob...@lmn.ro wrote: However, it seems like the revision is no longer in SVN - http://svn.apache.org/r1500794 bombs out. Any idea why? Nevermind, it was probably a SVN mirroring delay. Now fixed.
[jira] [Commented] (SLING-2948) Servlet archetype - set encoding for generated project
[ https://issues.apache.org/jira/browse/SLING-2948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13702075#comment-13702075 ] Robert Munteanu commented on SLING-2948: Fixed in http://svn.apache.org/viewvc?view=revisionrevision=r1500794 Servlet archetype - set encoding for generated project -- Key: SLING-2948 URL: https://issues.apache.org/jira/browse/SLING-2948 Project: Sling Issue Type: Bug Components: Maven Plugins and Archetypes Affects Versions: Servlet Archetype 1.0.0 Reporter: Robert Munteanu Assignee: Robert Munteanu Priority: Trivial Fix For: Servlet Archetype 1.0.2 Currently the generated servlet archetype does not set the encoding for the generated project. This does not follow Maven best practices, and generates warning when building. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
Jenkins build is unstable: sling-trunk-1.7 » Apache Sling Sample Integration Tests #92
See https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.testing.samples.integrationtests/92/
Jenkins build is back to stable : sling-trunk-1.7 » Apache Sling Event Support #92
See https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.event/92/
Jenkins build is unstable: sling-trunk-1.7 » Apache Sling Launchpad Testing #92
See https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.launchpad.testing/92/
Jenkins build is unstable: sling-trunk-1.7 » Apache Sling Launchpad Testing WAR version #92
See https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.launchpad.testing-war/92/
[jira] [Created] (SLING-2949) Remove plugin version hardcoding from the reactor pom
Robert Munteanu created SLING-2949: -- Summary: Remove plugin version hardcoding from the reactor pom Key: SLING-2949 URL: https://issues.apache.org/jira/browse/SLING-2949 Project: Sling Issue Type: Bug Components: General Reporter: Robert Munteanu Assignee: Robert Munteanu Priority: Minor We declare version 2.2, but 2.4.1 is inherited from the Apache parent pom. At a minimum, we will benefit from the performance enhancements brought by http://jira.codehaus.org/browse/MCLEAN-32 . -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (SLING-2949) Remove plugin version hardcoding from the reactor pom
[ https://issues.apache.org/jira/browse/SLING-2949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Munteanu resolved SLING-2949. Resolution: Fixed Fixed in http://svn.apache.org/viewvc?view=revisionrevision=1500809 Remove plugin version hardcoding from the reactor pom - Key: SLING-2949 URL: https://issues.apache.org/jira/browse/SLING-2949 Project: Sling Issue Type: Bug Components: General Reporter: Robert Munteanu Assignee: Robert Munteanu Priority: Minor We declare version 2.2, but 2.4.1 is inherited from the Apache parent pom. At a minimum, we will benefit from the performance enhancements brought by http://jira.codehaus.org/browse/MCLEAN-32 . -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
Jenkins build is unstable: sling-trunk-1.7 #92
See https://builds.apache.org/job/sling-trunk-1.7/92/changes
Jenkins build is still unstable: sling-trunk-1.6 » Apache Sling Launchpad Testing WAR version #1721
See https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/1721/
Jenkins build is still unstable: sling-trunk-1.6 #1721
See https://builds.apache.org/job/sling-trunk-1.6/changes
Jenkins build is still unstable: sling-trunk-1.7 » Apache Sling Sample Integration Tests #93
See https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.testing.samples.integrationtests/93/
Jenkins build is back to stable : sling-trunk-1.7 » Apache Sling Launchpad Testing #93
See https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.launchpad.testing/93/
Build failed in Jenkins: sling-trunk-1.7 » Apache Sling Launchpad Testing WAR version #93
See https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.launchpad.testing-war/93/ -- [...truncated 273 lines...] Running org.apache.sling.launchpad.webapp.integrationtest.JsonQueryServletTest Tests run: 9, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.JSONGroovyBuilderTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.servlets.post.SlingDefaultValuesTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.servlets.post.PostServletAtMoveTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.userManager.UpdateGroupTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.accessManager.PrivilegesInfoTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.ValueFromTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.PostRedirectTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.servlets.post.ReferenceTypeHintTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.GetStarTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.servlets.resolution.HtmlDefaultServletTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.servlets.resolution.PrefixTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.CreateNodeTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.ScriptBuiltinObjectsTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.VanityPathTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.xml.SaxTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.ResourceSuperTypeTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.SyntheticResourceTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.servlets.resolution.PathsServletTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.xml.XPathTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.StreamServletTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.xml.DomTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.servlets.post.PostServletOrderTest Tests run: 9, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.JspIncludeTest http://localhost:36657/JspIncludeTest/1373305888129/text_b_1373305888148_6 Tests run: 9, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.NamespaceMappingTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.servlets.resolution.PathsServletWithNodeTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.servlets.post.PostServletMoveTest Tests run: 15, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.issues.SLING2522Test Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.servlets.resolution.RequestUriOptingServletTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.login.RedirectOnLoginErrorTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.userManager.RemoveAuthorizablesTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.WebdavOptionsTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.issues.SLING2085Test Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.servlets.post.PostServletDeleteTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0 Running org.apache.sling.launchpad.webapp.integrationtest.servlets.post.PostServletNopTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0 Running
Build failed in Jenkins: sling-trunk-1.7 #93
See https://builds.apache.org/job/sling-trunk-1.7/93/changes Changes: [rombert] SLING-2949 - Remove plugin version hardcoding from the reactor pom [rombert] SLING-2948 - Servlet archetype - set encoding for generated project This prevents build warnings from being issued. -- [...truncated 32512 lines...] [INFO] Apache Sling Object Content Mapping ... SUCCESS [5.593s] [INFO] Apache Sling JCR Resource Resolver SUCCESS [1:24.937s] [INFO] Apache Sling JCR Repository Registration .. SUCCESS [6.719s] [INFO] Apache Sling Simple WebDAV Access to repositories . SUCCESS [4.753s] [INFO] Apache Sling DavEx Access to repositories . SUCCESS [6.207s] [INFO] Apache Sling JCR WebConsole Bundle SUCCESS [3.489s] [INFO] Apache Sling Servlet Resolver . SUCCESS [4.581s] [INFO] Apache Sling Default GET Servlets . SUCCESS [4.546s] [INFO] Apache Sling Default POST Servlets SUCCESS [5.674s] [INFO] Apache Sling Compat Servlets .. SUCCESS [3.264s] [INFO] Apache Sling Scripting Implementation API . SUCCESS [4.816s] [INFO] Apache Sling Scripting Core implementation SUCCESS [5.306s] [INFO] Apache Sling Scripting JavaScript Support . SUCCESS [20.504s] [INFO] Apache Sling Scripting JSP Support SUCCESS [5.827s] [INFO] Apache Sling JSP Tag Library .. SUCCESS [4.077s] [INFO] Apache Sling JSP Standard Tag Library . SUCCESS [3.515s] [INFO] Apache Sling Adapter Manager Implementation ... SUCCESS [3.985s] [INFO] Apache Sling Bundle Resource Provider . SUCCESS [4.429s] [INFO] Apache Sling Discovery API SUCCESS [4.115s] [INFO] Apache Sling Resource-Based Discovery Service . SUCCESS [3:03.540s] [INFO] Apache Sling Discovery Support Bundle . SUCCESS [3.183s] [INFO] Apache Sling Discovery Standalone Implementation .. SUCCESS [4.236s] [INFO] Apache Sling Event Support SUCCESS [7:58.270s] [INFO] Apache Sling Filesystem Resource Provider . SUCCESS [4.148s] [INFO] Apache Sling javax.activation bundle .. SUCCESS [3.573s] [INFO] Apache Sling Settings . SUCCESS [3.830s] [INFO] Apache Sling Thread Dumper SUCCESS [3.445s] [INFO] Apache Sling Web Console Branding . SUCCESS [3.131s] [INFO] Apache Sling Web Console Security Provider SUCCESS [3.480s] [INFO] Apache Sling Groovy Extensions SUCCESS [3.828s] [INFO] Apache Sling Explorer . SUCCESS [4.239s] [INFO] Apache Sling Test Tools ... SUCCESS [4.565s] [INFO] Apache Sling JUnit Core ... SUCCESS [3.897s] [INFO] Apache Sling JUnit Scriptable Tests Provider .. SUCCESS [5.964s] [INFO] Apache Sling JUnit Remote Tests Runners ... SUCCESS [4.473s] [INFO] Apache Sling Testing Resource Resolver Mock ... SUCCESS [2.900s] [INFO] Apache Sling Installer SUCCESS [4.553s] [INFO] Apache Sling Installer WebConsole Plugin .. SUCCESS [2.848s] [INFO] Apache Sling File Installer ... SUCCESS [3.050s] [INFO] Apache Sling JCR Installer SUCCESS [2:18.322s] [INFO] Apache Sling Installer Configuration Admin Support SUCCESS [2.620s] [INFO] Apache Sling Deployment Package Installer . SUCCESS [5.269s] [INFO] Apache Sling Installer Integration Tests .. SUCCESS [44.474s] [INFO] Apache Sling Launchpad API SUCCESS [2.393s] [INFO] Apache Sling Launchpad Base ... SUCCESS [9.727s] [INFO] Apache Sling Launchpad Installer .. SUCCESS [3.389s] [INFO] Apache Sling Launchpad Content SUCCESS [4.081s] [INFO] Apache Sling Launchpad Application Builder SUCCESS [27.335s] [INFO] Apache Sling Sample Server-Side Tests . SUCCESS [4.066s] [INFO] Apache Sling Failing Server-Side Tests SUCCESS [2.718s] [INFO] Apache Sling Sample Integration Tests . SUCCESS [55.414s] [INFO] Apache Sling Launchpad Testing Services ... SUCCESS [6.018s] [INFO] Apache Sling Launchpad Testing Services WAR ... SUCCESS [3.193s] [INFO] Apache Sling Launchpad Testing Fragment Bundle SUCCESS [2.694s] [INFO] Apache Sling Launchpad Test Bundles ... SUCCESS [3.727s] [INFO] Apache Sling Integration Tests SUCCESS [8.796s] [INFO] Apache Sling Launchpad Testing SUCCESS [3:44.174s] [INFO] Apache Sling Launchpad Testing WAR version FAILURE [3:25.390s] [INFO] Apache Sling (Builder) SKIPPED [INFO] [INFO] BUILD FAILURE [INFO]
[jira] [Commented] (SLING-2903) launchpad/testing TestSuite fails with JUnit 4 tests
[ https://issues.apache.org/jira/browse/SLING-2903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13702505#comment-13702505 ] Robert Munteanu commented on SLING-2903: The failure I mentioned above was rooted in the launchpad/testing-war directory. I've applied a similar fix to launchpad/testing-war in http://svn.apache.org/r1500984. launchpad/testing TestSuite fails with JUnit 4 tests Key: SLING-2903 URL: https://issues.apache.org/jira/browse/SLING-2903 Project: Sling Issue Type: Bug Components: Testing Reporter: Bertrand Delacretaz Assignee: Bertrand Delacretaz Fix For: Launchpad Testing 7 I changed the ServerSideScriptsTest to JUnit 4 style yesterday and failed to notice that this breaks the launchpad/testing test suite: junit.framework.AssertionFailedError: org.apache.sling.launchpad.webapp.integrationtest.ServerSideScriptsTest.ScriptableTest does not extend TestCase at junit.framework.Assert.fail(Assert.java:50) ... at junit.framework.TestSuite.runTest(TestSuite.java:243) at org.apache.sling.launchpad.testing.LoggingSuite.runTest(LoggingSuite.java:77) at junit.framework.TestSuite.run(TestSuite.java:238) at org.apache.sling.launchpad.testing.LoggingSuite.run(LoggingSuite.java:65) ... -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Comment Edited] (SLING-2939) 3rd-party based implementation of discovery.api
[ https://issues.apache.org/jira/browse/SLING-2939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13702523#comment-13702523 ] kishore gopalakrishna edited comment on SLING-2939 at 7/8/13 10:18 PM: --- Hi, I am Kishore and work on Helix. Looks like Helix was ruled out because its focused on resource management. Would like to point that its not entirely true. I would like to provide more info but i got lost trying to gather the requirements from the JIRA. Its not clear if the requirement is only discovery and/or leader election. I also saw in between the mention of being rack aware etc. Would be glad to provide more info. was (Author: k4j): Hi, I am Kishore and work on Helix. Looks like Helix was ruled out because its focussed on resource management. Would like to point that its not entirely true. I would like to provide more info but i got lost trying to gather the requirements from the JIRA. Its not clear if the requirement is only discovery and/or leader election. I also saw in between the mention of being rack aware etc. Would be glad to provide more info. 3rd-party based implementation of discovery.api --- Key: SLING-2939 URL: https://issues.apache.org/jira/browse/SLING-2939 Project: Sling Issue Type: Task Components: Extensions Affects Versions: Discovery API 1.0.0 Reporter: Stefan Egli Assignee: Stefan Egli The Sling Discovery API introduces the abstraction of a topology which contains (Sling) clusters and instances, supports liveliness-detection, leader-election within a cluster and property-propagation between the instances. As a default and reference implementation a resource-based, OOTB implementation was created (org.apache.sling.discovery.impl). Pros and cons of the discovery.impl Although the discovery.impl supports everything required in discovery.api, it has a few limitations. Here's a list of pros and cons: Pros No additional software required (leverages repository for intra-cluster communication/storage and HTTP-REST calls for cross-cluster communication) Very small footprint Perfectly suited for a single clusters, instance and for small, rather stable hub-based topologies Cons Config-/deployment-limitations (aka embedded-limitation): connections between clusters are peer-to-peer and explicit. To span a topology, a number of instances must (be made) know (to) each other, changes in the topology typically requires config adjustments to guarantee high availability of the discovery service Except if a natural hub cluster exists that can serve as connection point for all satellite clusters Other than that, it is less suited for large and/or dynamic topologies Change propagation (for topology parts reported via connectors) is non-atomic and slow, hop-by-hop based No guarantee on order of TopologyEvents sent in individual instances - ie different instances might see different orders of TopologyEvents (ie changes in the topology) but eventually the topology is guaranteed to be consistent Robustness of discovery.impl wrt storm situations depends on robustness of underlying cluster (not a real negative but discovery.impl might in theory unveil repository bugs which would otherwise not have been a problem) Rather new, little tested code which might have issues with edge cases wrt network problems although partitioning-support is not a requirement per se, similar edge-cases might exist wrt network-delays/timing/crashes Reusing a suitable 3rd party library To provide an additional option as implementation of the discovery.api one idea is to use a suitable 3rd party library. Requirements The following is a list of requirements a 3rd party library must support: liveliness detection: detect whether an instance is up and running stable leader election within a cluster: stable describes the fact that a leader will remain leader until it leaves/crashes and no new, joining instance shall take over while a leader exists stable instance ordering: the list of instances within a cluster is ordered and stable, new, joining instances are put at the end of the list property propagation: propagate the properties provided within one instance to everybody in the topology. there are no timing requirements bound to this but the intention of this is not to be used as messaging but to announce config parameters to the topology support large, dynamic clusters: configuration of the new discovery implementation should be easy and support frequent changes in the (large) topology no single point of failure: this is obvious, there should of course
[jira] [Commented] (SLING-2939) 3rd-party based implementation of discovery.api
[ https://issues.apache.org/jira/browse/SLING-2939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13702523#comment-13702523 ] kishore gopalakrishna commented on SLING-2939: -- Hi, I am Kishore and work on Helix. Looks like Helix was ruled out because its focussed on resource management. Would like to point that its not entirely true. I would like to provide more info but i got lost trying to gather the requirements from the JIRA. Its not clear if the requirement is only discovery and/or leader election. I also saw in between the mention of being rack aware etc. Would be glad to provide more info. 3rd-party based implementation of discovery.api --- Key: SLING-2939 URL: https://issues.apache.org/jira/browse/SLING-2939 Project: Sling Issue Type: Task Components: Extensions Affects Versions: Discovery API 1.0.0 Reporter: Stefan Egli Assignee: Stefan Egli The Sling Discovery API introduces the abstraction of a topology which contains (Sling) clusters and instances, supports liveliness-detection, leader-election within a cluster and property-propagation between the instances. As a default and reference implementation a resource-based, OOTB implementation was created (org.apache.sling.discovery.impl). Pros and cons of the discovery.impl Although the discovery.impl supports everything required in discovery.api, it has a few limitations. Here's a list of pros and cons: Pros No additional software required (leverages repository for intra-cluster communication/storage and HTTP-REST calls for cross-cluster communication) Very small footprint Perfectly suited for a single clusters, instance and for small, rather stable hub-based topologies Cons Config-/deployment-limitations (aka embedded-limitation): connections between clusters are peer-to-peer and explicit. To span a topology, a number of instances must (be made) know (to) each other, changes in the topology typically requires config adjustments to guarantee high availability of the discovery service Except if a natural hub cluster exists that can serve as connection point for all satellite clusters Other than that, it is less suited for large and/or dynamic topologies Change propagation (for topology parts reported via connectors) is non-atomic and slow, hop-by-hop based No guarantee on order of TopologyEvents sent in individual instances - ie different instances might see different orders of TopologyEvents (ie changes in the topology) but eventually the topology is guaranteed to be consistent Robustness of discovery.impl wrt storm situations depends on robustness of underlying cluster (not a real negative but discovery.impl might in theory unveil repository bugs which would otherwise not have been a problem) Rather new, little tested code which might have issues with edge cases wrt network problems although partitioning-support is not a requirement per se, similar edge-cases might exist wrt network-delays/timing/crashes Reusing a suitable 3rd party library To provide an additional option as implementation of the discovery.api one idea is to use a suitable 3rd party library. Requirements The following is a list of requirements a 3rd party library must support: liveliness detection: detect whether an instance is up and running stable leader election within a cluster: stable describes the fact that a leader will remain leader until it leaves/crashes and no new, joining instance shall take over while a leader exists stable instance ordering: the list of instances within a cluster is ordered and stable, new, joining instances are put at the end of the list property propagation: propagate the properties provided within one instance to everybody in the topology. there are no timing requirements bound to this but the intention of this is not to be used as messaging but to announce config parameters to the topology support large, dynamic clusters: configuration of the new discovery implementation should be easy and support frequent changes in the (large) topology no single point of failure: this is obvious, there should of course be no single point of failure in the setup embedded or dedicated: this might be a hot topic: embedding a library has the advantages of not having to install anything additional. a dedicated service on the other hand requires additional handling in deployment. embedding implies a peer-to-peer setup: nodes communicate peer-to-peer rather than via a centralized service. this IMHO is a negative for large topologies which would typically be cross data-centers. hence a dedicated service could be seen as an advantage
Jenkins build is back to stable : sling-trunk-1.6 » Apache Sling Launchpad Testing WAR version #1722
See https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing-war/1722/changes
Jenkins build is back to stable : sling-trunk-1.7 » Apache Sling Sample Integration Tests #94
See https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.testing.samples.integrationtests/94/
Jenkins build is back to normal : sling-trunk-1.7 » Apache Sling Launchpad Testing WAR version #94
See https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.launchpad.testing-war/94/changes