Hi all, the 72h time frame has passed and we have enough votes, with the tally being: Murray Altheim: +1 (*) Brian Burch: +1 Dirk Frederickx: +1 (*) Harry Metske: +1 (*) Juan Pablo Santos: +1 (*)
(*) denoting PMC member So, the vote passes, thanks to everyone participating on the vote! I'll proceed with the next steps of the 2.11.0.M2 release between tonight/tomorrow best regards, juan pablo On Thu, Mar 7, 2019 at 11:57 PM Juan Pablo Santos Rodríguez < juanpablo.san...@gmail.com> wrote: > Hi Brian, > > glad you were able to get 2.11.0.M2 running, when you have a minute please > do tell us > what did you miss on the installation instructions so we can have them as > clear and easy > to follow as possible. > > best regards (and thank you for your vote :-) ) > juan pablo > > > On Thu, Mar 7, 2019 at 8:06 AM Brian Burch <br...@pingtoo.com> wrote: > >> So, to answer my own question... it WAS because I neglected to run >> Install.jsp after deploying the clean M2 war. >> >> After Install, stop tc, start tc, the web client was redirected to >> Login.jsp. This time jspwiki.log showed that my custom properties had >> been loaded via Context.xml and was being used. catalina.out no longer >> had all the stack traces, either. >> >> I am currently using the default userdatabase.xml, but couldn't discover >> the password for admin. I created my own account and was taken to the >> Main page that I had not been able to access since moving from M1 to M2. >> I had a nice friendly email and immediately took a backup of the updated >> userdatabase.xml. >> >> I am happy to change my "+3/4" to "+1". >> >> However, the jspwiki wiki installation instructions needs some(!) work, >> so I'll run through the entire deployment more carefully from the top >> before creating any documentation JIRAs and updates. >> >> I'm so pleased to have it working. I've been waiting to work on this >> upgrade for my plugin for at least a year, with it still running in >> production with 2.10.3-git-32. >> >> Regards, >> >> Brian >> >> On 7/3/19 3:08 pm, Brian Burch wrote: >> > On 5/3/19 8:55 am, Juan Pablo Santos Rodríguez wrote: >> >> This is a release vote for Apache JSPWiki, version 2.11.0.M2. The vote >> >> will >> >> be open for at least 72 hours from now. >> >> >> >> It fixes the following issues: >> >> >> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310732&version=12343994 >> >> >> >> >> >> You can see a curated changelog at >> >> https://jspwiki-wiki.apache.org/Wiki.jsp?page=NewIn2.11 >> >> >> >> Note that we are voting upon the source (tag), binaries are provided >> for >> >> convenience. >> >> >> >> Everybody is encouraged to vote. >> >> >> >> Source and binary files: >> >> https://dist.apache.org/repos/dist/dev/jspwiki/2.11.0.M2-rc1/ >> >> >> >> Nexus staging repo: >> >> >> https://repository.apache.org/content/repositories/orgapachejspwiki-1010 >> >> >> >> The tag to be voted upon: >> >> https://github.com/apache/jspwiki/tree/2.11.0.M2-RC1 >> >> >> >> JSPWiki's KEYS file containing PGP keys we use to sign the release: >> >> https://www.apache.org/dist/jspwiki/KEYS >> >> >> >> *** Please download, test and vote: >> >> >> >> [ ] +1 Approve the release >> >> [ ] 0 Don't mind >> >> [ ] -1 Disapprove the release (please provide specific comments) >> > >> > + 3/4!! >> > >> > >> > Firstly, M2 built and tested perfectly on unbuntu 18.10 X64 with >> openjdk >> > version 10.0.2, so well done! >> > >> > >> > I hit several problems testing a fresh install of M1 on my new >> > development server, but most of them were fairly trivial and Iintended >> > to write some JIRA's when I've completed my own work and M2 is released. >> > >> > Unfortunately, I've hit one problem with M2, which I've been struggling >> > over for the last 2 days. I hope it is a "user error" and I can vote >> +1, >> > so I thought it best to ask for help before the deadline. >> > >> > I had a vanilla M1 installation (pom.xml called it 2.11.0.M2-SNAPSHOT) >> > that was my work-in-progress, but was subsequently pulled. I'd done >> > quite a lot of tailoring for my PhotoCollection plugin, but hadn't >> > finished the work. It installed with the "default" (aka Haddock) >> > template and merged the jspwiki-custom.properties created by >> Install.jsp >> > with the properties I wanted for my own purposes, cloned from my >> > production system. >> > >> > It appeared to be working OK and I successfully created a Main page, a >> > LeftMenu, and a couple of others. I didn't like the dark theme and >> > changed my own custom.properties to switch to the light theme. >> Satisfied >> > that I had a useful testbed, I got on with my plugin development... >> > >> > When the M2 release candidate (pom.xml calls it 2.11.0.M2) was cut last >> > weekend, I quickly downloaded the source, built and ran the tests >> (hence >> > my +3/4 provisional vote). >> > >> > I was very confident of the new version, having read the changelog, so >> I >> > didn't bother deploying it under a new name. I wiped my M1 war, and so >> > tomcat (8.5.30-1ubuntu1.4) automatically wiped the deployed webapp >> > before I could put on my paranoid hat. >> > >> > Undeterred, I went through my customisation steps from my paper notes, >> > but DID NOT run Install.jsp (in case that omission is relevant). I >> > stopped tomcat, checked my custom properties, cleared tomcat's work >> > directory (the previous jsp's java and class files), and restarted >> tomcat. >> > >> > I won't mention all the confusing and unproductive things I've tried to >> > resolve the problem since, but here are the things that seem most >> > relevant today. >> > >> > 1. jspwiki.log does not report any problems, but I am suspicious >> because >> > M1 would always spew out dozens of these messages:- >> > >> > 2019-02-21 13:08:30,517 INFO util.PropertyReader - >> jspwiki.custom.config >> > defined, using /home/wiki/context/jspwiki-custom.properties as the >> > custom properties file. >> > >> > However, M2 's log doesn't mention custom properties at all. >> > >> > 2. Despite the apparently good start of M2, I can't access any of the >> > small set of wiki pages I had built in an external directory, so all >> > their url's just get 404 status. >> > >> > 3. Both M1 and M2 are using THE SAME Context.xml to avoid some "war >> > surgery" steps, so here is a copy which used to work last week:- >> > >> > brian@chenin:/etc/tomcat8-bb/Catalina/localhost$ cat PingTooTest.xml >> > <?xml version="1.0" encoding="UTF-8"?> >> > <!-- The contents of this file will be loaded for the jspWiki web >> > application >> > --> >> > <Context> >> > <!-- >> > Brian's version needs to follow symlinks to directories outside >> the >> > tomcat webapp base. >> > --> >> > <Resources allowLinking="true"/> >> > >> > <!-- >> > try to load custom properties outside the deployed WAR >> > --> >> > <Parameter >> > name="jspwiki.custom.config" >> > value="/home/wiki/context/jspwiki-custom.properties" >> > override="false" >> > /> >> > </Context> >> > >> > >> > 4. Unfortunately, while M1 ran OK, M2 is triggering a severe error in >> > catalina.out:- >> > >> > log4j:WARN No appenders could be found for logger >> > (org.apache.wiki.util.PropertyReader). >> > log4j:WARN Please initialize the log4j system properly. >> > log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig >> for >> > more info. >> > 07-Mar-2019 12:25:06.345 SEVERE [localhost-startStop-1] >> > org.apache.catalina.core.StandardContext.startInternal One or more >> > Filters failed to start. Full details will be found in the appropriate >> > container log file >> > 07-Mar-2019 12:25:06.356 SEVERE [localhost-startStop-1] >> > org.apache.catalina.core.StandardContext.startInternal Context >> > [/PingTooTest] startup failed due to previous errors >> > 07-Mar-2019 12:25:06.411 WARNING [localhost-startStop-1] >> > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads >> > The web application [PingTooTest] appears to have started a thread >> named >> > [__DEFAULT__] but has failed to stop it. This is very likely to create >> a >> > memory leak. Stack trace of thread: >> > java.base@10.0.2/java.lang.Object.wait(Native Method) >> > java.base@10.0.2/java.lang.Object.wait(Object.java:328) >> > java.base@10.0.2/java.util.TimerThread.mainLoop(Timer.java:527) >> > java.base@10.0.2/java.util.TimerThread.run(Timer.java:506) >> > 07-Mar-2019 12:25:06.416 WARNING [localhost-startStop-1] >> > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads >> > The web application [PingTooTest] appears to have started a thread >> named >> > [Statistics Thread-__DEFAULT__-1] but has failed to stop it. This is >> > very likely to create a memory leak. Stack trace of thread: >> > java.base@10.0.2/jdk.internal.misc.Unsafe.park(Native Method) >> > >> > java.base@10.0.2/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) >> >> > >> > >> > java.base@10.0.2/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2117) >> >> > >> > >> > java.base@10.0.2/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) >> >> > >> > >> > java.base@10.0.2/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) >> >> > >> > >> > java.base@10.0.2/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1061) >> >> > >> > >> > java.base@10.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1121) >> >> > >> > >> > java.base@10.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) >> >> > >> > java.base@10.0.2/java.lang.Thread.run(Thread.java:844) >> > 07-Mar-2019 12:25:06.419 WARNING [localhost-startStop-1] >> > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads >> > The web application [PingTooTest] appears to have started a thread >> named >> > [JSPWiki Lucene Indexer] but has failed to stop it. This is very likely >> > to create a memory leak. Stack trace of thread: >> > java.base@10.0.2 >> /java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1503) >> > java.base@10.0.2 >> /java.util.zip.ZipFile$Source.<init>(ZipFile.java:1266) >> > java.base@10.0.2/java.util.zip.ZipFile$Source.get(ZipFile.java:1229) >> > >> > java.base@10.0.2/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:727) >> >> > >> > >> > java.base@10.0.2/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:845) >> >> > >> > java.base@10.0.2/java.util.zip.ZipFile.<init>(ZipFile.java:245) >> > java.base@10.0.2/java.util.zip.ZipFile.<init>(ZipFile.java:175) >> > java.base@10.0.2/java.util.jar.JarFile.<init>(JarFile.java:341) >> > >> > java.base@10.0.2/jdk.internal.reflect.GeneratedConstructorAccessor8.newInstance(Unknown >> >> > Source) >> > >> > java.base@10.0.2/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) >> >> > >> > >> > java.base@10.0.2/java.lang.reflect.Constructor.newInstance(Constructor.java:488) >> >> > >> > >> > >> org.apache.tomcat.util.compat.Jre9Compat.jarFileNewInstance(Jre9Compat.java:209) >> >> > >> > >> > >> org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:181) >> >> > >> > >> > >> org.apache.catalina.webresources.AbstractArchiveResourceSet.openJarFile(AbstractArchiveResourceSet.java:308) >> >> > >> > >> > >> org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.getArchiveEntry(AbstractSingleArchiveResourceSet.java:96) >> >> > >> > >> > >> org.apache.catalina.webresources.AbstractArchiveResourceSet.getResource(AbstractArchiveResourceSet.java:257) >> >> > >> > >> > >> org.apache.catalina.webresources.StandardRoot.getResourceInternal(StandardRoot.java:281) >> >> > >> > org.apache.catalina.webresources.Cache.getResource(Cache.java:62) >> > >> > >> org.apache.catalina.webresources.StandardRoot.getResource(StandardRoot.java:216) >> >> > >> > >> > >> org.apache.catalina.webresources.StandardRoot.getClassLoaderResource(StandardRoot.java:225) >> >> > >> > >> > >> org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2263) >> >> > >> > >> > >> org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:846) >> >> > >> > >> > >> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1313) >> >> > >> > >> > >> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1172) >> >> > >> > >> > >> org.apache.lucene.codecs.compressing.CompressingStoredFieldsWriter.<clinit>(CompressingStoredFieldsWriter.java:70) >> >> > >> > >> > >> org.apache.lucene.codecs.compressing.CompressingStoredFieldsFormat.fieldsWriter(CompressingStoredFieldsFormat.java:128) >> >> > >> > >> > >> org.apache.lucene.codecs.lucene50.Lucene50StoredFieldsFormat.fieldsWriter(Lucene50StoredFieldsFormat.java:183) >> >> > >> > >> > >> org.apache.lucene.index.StoredFieldsConsumer.initStoredFieldsWriter(StoredFieldsConsumer.java:39) >> >> > >> > >> > >> org.apache.lucene.index.StoredFieldsConsumer.startDocument(StoredFieldsConsumer.java:46) >> >> > >> > >> > >> org.apache.lucene.index.DefaultIndexingChain.startStoredFields(DefaultIndexingChain.java:355) >> >> > >> > >> > >> org.apache.lucene.index.DefaultIndexingChain.processDocument(DefaultIndexingChain.java:391) >> >> > >> > >> > >> org.apache.lucene.index.DocumentsWriterPerThread.updateDocument(DocumentsWriterPerThread.java:251) >> >> > >> > >> > >> org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:494) >> >> > >> > >> org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1616) >> > org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1235) >> > >> > >> org.apache.wiki.search.LuceneSearchProvider.luceneIndexPage(LuceneSearchProvider.java:467) >> >> > >> > >> > >> org.apache.wiki.search.LuceneSearchProvider.doFullLuceneReindex(LuceneSearchProvider.java:227) >> >> > >> > >> > >> org.apache.wiki.search.LuceneSearchProvider$LuceneUpdater.startupTask(LuceneSearchProvider.java:736) >> >> > >> > >> org.apache.wiki.WikiBackgroundThread.run(WikiBackgroundThread.java:111) >> > 07-Mar-2019 12:25:06.425 WARNING [localhost-startStop-1] >> > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads >> > The web application [PingTooTest] appears to have started a thread >> named >> > [WatchDog for 'PingTooWikiTest'] but has failed to stop it. This is >> very >> > likely to create a memory leak. Stack trace of thread: >> > java.base@10.0.2/java.lang.Thread.sleep(Native Method) >> > >> org.apache.wiki.WikiBackgroundThread.run(WikiBackgroundThread.java:125) >> > 07-Mar-2019 12:25:06.445 SEVERE [localhost-startStop-1] >> > >> org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks >> >> > The web application [PingTooTest] created a ThreadLocal with key of >> type >> > [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@46d5f731]) and a >> > value of type [org.apache.wiki.WikiSession] (value >> > [org.apache.wiki.WikiSession@7e846f2c]) but failed to remove it when >> the >> > web application was stopped. Threads are going to be renewed over time >> > to try and avoid a probable memory leak. >> > 07-Mar-2019 12:25:06.487 INFO [JSPWiki Lucene Indexer] >> > >> org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading >> >> > Illegal access: this web application instance has been stopped already. >> > Could not load [org.apache.lucene.util.packed.PackedInts$ReaderImpl]. >> > The following stack trace is thrown for debugging purposes as well as >> to >> > attempt to terminate the thread which caused the illegal access. >> > java.lang.IllegalStateException: Illegal access: this web application >> > instance has been stopped already. Could not load >> > [org.apache.lucene.util.packed.PackedInts$ReaderImpl]. The following >> > stack trace is thrown for debugging purposes as well as to attempt to >> > terminate the thread which caused the illegal access. >> > at >> > >> org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1364) >> >> > >> > at >> > >> org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1352) >> >> > >> > at >> > >> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1211) >> >> > >> > at >> > >> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1172) >> >> > >> > at java.base/java.lang.ClassLoader.defineClass1(Native Method) >> > at >> java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1009) >> > at >> > >> java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) >> >> > >> > at >> > >> org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2374) >> >> > >> > at >> > >> org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:846) >> >> > >> > at >> > >> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1313) >> >> > >> > at >> > >> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1172) >> >> > >> > at >> > >> org.apache.lucene.codecs.compressing.CompressingStoredFieldsWriter.<clinit>(CompressingStoredFieldsWriter.java:70) >> >> > >> > at >> > >> org.apache.lucene.codecs.compressing.CompressingStoredFieldsFormat.fieldsWriter(CompressingStoredFieldsFormat.java:128) >> >> > >> > at >> > >> org.apache.lucene.codecs.lucene50.Lucene50StoredFieldsFormat.fieldsWriter(Lucene50StoredFieldsFormat.java:183) >> >> > >> > at >> > >> org.apache.lucene.index.StoredFieldsConsumer.initStoredFieldsWriter(StoredFieldsConsumer.java:39) >> >> > >> > at >> > >> org.apache.lucene.index.StoredFieldsConsumer.startDocument(StoredFieldsConsumer.java:46) >> >> > >> > at >> > >> org.apache.lucene.index.DefaultIndexingChain.startStoredFields(DefaultIndexingChain.java:355) >> >> > >> > at >> > >> org.apache.lucene.index.DefaultIndexingChain.processDocument(DefaultIndexingChain.java:391) >> >> > >> > at >> > >> org.apache.lucene.index.DocumentsWriterPerThread.updateDocument(DocumentsWriterPerThread.java:251) >> >> > >> > at >> > >> org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:494) >> >> > >> > at >> > >> org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1616) >> > at >> > org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1235) >> > at >> > >> org.apache.wiki.search.LuceneSearchProvider.luceneIndexPage(LuceneSearchProvider.java:467) >> >> > >> > at >> > >> org.apache.wiki.search.LuceneSearchProvider.doFullLuceneReindex(LuceneSearchProvider.java:227) >> >> > >> > at >> > >> org.apache.wiki.search.LuceneSearchProvider$LuceneUpdater.startupTask(LuceneSearchProvider.java:736) >> >> > >> > at >> > org.apache.wiki.WikiBackgroundThread.run(WikiBackgroundThread.java:111) >> > >> > >> > ======> and so on. >> > >> > >> > 5. However, don't get too excited about the initial log4j warnings, >> > because here is an extract from the last log I captured from M1:- >> > >> > log4j:WARN No appenders could be found for logger >> > (org.apache.wiki.util.PropertyReader). >> > log4j:WARN Please initialize the log4j system properly. >> > log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig >> for >> > more info. >> > 21-Feb-2019 13:01:53.717 INFO [localhost-startStop-1] >> > org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of >> > configuration descriptor >> > [/etc/tomcat8-bb/Catalina/localhost/PingTooTest.xml] has finished in >> > [6,517] ms >> > >> > [there were subsequent errors with jspwiki M1, but it started and did >> > what I expected]. >> > >> > >> > 6. I am very suspicious about M2's lack of messages referring to my >> > custom.properties. Dozens from M1 was not correct, but none at all from >> > M2 makes me wonder whether they are even being used. >> > >> > a) Should I have run Install.jsp, even though I didn't need it to >> > generate a file that was not as suitable as my own which worked with M1? >> > >> > b) I can't find the "full" jspwiki.properties file anywhere in the >> > deployed webapp, but it is in the source tree. The only difference I >> can >> > see is in this snippet of comments:- >> > >> > #jspwiki.shortURLConstructor.prefix = wiki/ >> > # This prefix must be in some elements of web.xml, too: in >> > # servlet-mapping of WikiServlet, in filter-mapping of WikiJSPFilter >> > >> > I have renamed my war file to be called PingTooTest.war (hence the >> > Context.xml name matches it). Is this comment related to something >> > clever that needs to be done by Install.jsp??? >> > >> > >> > I apologise for bothering everyone with this long email, but I'm stuck >> > and don't know how to get past this problem. I hope someone will feel >> > sorry enough for my plight and suggest what to do to resolve it. >> > >> > Thanks... >> > >> > Brian >> > >> > c) scratching my head a lot, I compared >> >>