river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patricia Shanahan <p...@acm.org>
Subject Re: Reminder: [Vote] Release Apache River JTSK 3.0.0
Date Sat, 05 Mar 2016 15:06:27 GMT
Meanwhile, I am checking the release policy stuff, with a view to being 
able to cast a binding +1 as soon as there is a release candidate I can 
compile and test.

I am strongly in favor of getting 3.0 out, but you need to understand 
the risk involved, and be prepared for what may happen after the 
release. Bugs are not equal, and a reduction in the number of bugs does 
not necessarily benefit users.

With software that has been unchanged in the field for an extended 
period, every surviving user is either unaffected by each existing bug, 
or has a work around for it. A hundred existing bugs that are not 
affecting a given user are less of a negative for that user than a 
single new bug that does affect them, and for which they do not have a 
work around.

For example, at one point I tried to construct a test case for one of 
the concurrency bugs. Despite knowing where the bug was, I could not 
make it happen. It required an interrupt to hit between two specific 
statements, and another thread take just the right action while the 
first thread was runnable but not running. It is a bug, and should be 
fixed, but it may never happen.

Patricia



On 3/5/2016 4:16 AM, Peter wrote:
> Ok, I hadn't realised it was that critical.
>
> In that case, since I hadn't yet posted a binding vote.
>
> +0 Binding.
>
> Regards,
>
> Peter.
>
> On 5/03/2016 9:15 PM, Patricia Shanahan wrote:
>> The build bug is absolutely critical for the Apache release policy:
>>
>> "Before voting +1 PMC members are required to download the signed
>> source code package, compile it as provided, and test the resulting
>> executable on their own platform, along with also verifying that the
>> package meets the requirements of the ASF policy on releases."
>>
>> http://www.apache.org/dev/release.html#approving-a-release
>>
>>
>> On 3/4/2016 11:00 PM, Peter wrote:
>>> If you want to call it Beta, go for it, lets just get it released, even
>>> with the build bug, it's not critical.
>>>
>>> It won't take long for people to realise this Beta has a few hundred
>>> less bugs than our previous releases, even if some newly introduced bugs
>>> appear, it'll be easy to fix them quickly.
>>>
>>> This is actually a bugfix release, it's just so many bugs got fixed that
>>> people are frightened of breakages.
>>>
>>> The comments on RIVER-431
>>> <https://issues.apache.org/jira/browse/RIVER-431> are really worth
>>> looking at too, there are 241 more bugs reported by Findbugs in River
>>> 2.2.1 than River 3.0.0.  Our old code is riddled with race conditions,
>>> see for yourself in the comments, the line numbers refer to bugs present
>>> in River 2.2.1 code.  I know which codebase I feel safer using.
>>>
>>> http://dl.acm.org/citation.cfm?doid=2414729.2414732
>>>
>>>
>>>     Sub-task
>>>
>>>     * [RIVER-319 <https://issues.apache.org/jira/browse/RIVER-319>] -
>>>       Change River Build Dist structure to support jtreg test automation
>>>     * [RIVER-344 <https://issues.apache.org/jira/browse/RIVER-344>] -
>>>       com.sun.jini.thread.TaskManager scalability and concurrency.
>>>
>>>
>>>     Bug
>>>
>>>     * [RIVER-19 <https://issues.apache.org/jira/browse/RIVER-19>] -
>>>       PreferredClassLoader doesn't implement preferred semantics for
>>>       getResources(String)
>>>     * [RIVER-113 <https://issues.apache.org/jira/browse/RIVER-113>] -
>>>       JoinManager synchronization on each proxyReg should be reviewed,
>>>       doc'd and fixed where appropriate
>>>     * [RIVER-145 <https://issues.apache.org/jira/browse/RIVER-145>] -
>>>       JoinManager synchronization on serviceItem should be reviewed,
>>>       doc'd and fixed where appropriate
>>>     * [RIVER-148 <https://issues.apache.org/jira/browse/RIVER-148>] -
>>>       JoinManager.ProxyReg.fail synchronization may be wrong or may be
>>>       able to simplify it
>>>     * [RIVER-265 <https://issues.apache.org/jira/browse/RIVER-265>] -
>>>       PreferredClassProvider performs 'unlucky' caching
>>>     * [RIVER-282 <https://issues.apache.org/jira/browse/RIVER-282>] -
>>>       Suspect exception cast
>>>     * [RIVER-335 <https://issues.apache.org/jira/browse/RIVER-335>] -
>>>       com.sun.jini.phoenix.ConstrainableAID missing from phoenix.jar
>>>     * [RIVER-337 <https://issues.apache.org/jira/browse/RIVER-337>] -
>>>       Attempted discard of unknown registrar kills
>>>       LookupLocatorDiscovery thread
>>>     * [RIVER-345 <https://issues.apache.org/jira/browse/RIVER-345>] -
>>>       SDM LookupCache multi-LUS stale proxy/discard problems
>>>     * [RIVER-348 <https://issues.apache.org/jira/browse/RIVER-348>] -
>>>       Possible race condition in net.jini.lookup.ServiceDiscoveryManager
>>>       addProxyReg
>>>     * [RIVER-367 <https://issues.apache.org/jira/browse/RIVER-367>] -
>>>       com.sun.jini.mahalo.TxnManagerImpl fails to abort a Transaction
>>>       when notified of its lease expiration.
>>>     * [RIVER-387 <https://issues.apache.org/jira/browse/RIVER-387>] -
>>>       KerberosServerEndpoint calls com.sun.security methods,
>>>       animal-sniffer warns
>>>     * [RIVER-395 <https://issues.apache.org/jira/browse/RIVER-395>] -
>>>       Ill-behaved DiscoveryListener can terminate discovery notifier
>>> threads
>>>     * [RIVER-402 <https://issues.apache.org/jira/browse/RIVER-402>] -
>>>       NullPointerException in LookupCacheImpl.notifyServiceMap
>>>     * [RIVER-418 <https://issues.apache.org/jira/browse/RIVER-418>] -
>>>       Service server implementations start threads before construction
>>>       is complete allow "this" to escape
>>>     * [RIVER-420 <https://issues.apache.org/jira/browse/RIVER-420>] -
>>>       Export during construction.
>>>     * [RIVER-422 <https://issues.apache.org/jira/browse/RIVER-422>] -
>>>       Missing reference-collections and high-scale-lib in Manifest for
>>>       jsk-platform
>>>     * [RIVER-431 <https://issues.apache.org/jira/browse/RIVER-431>] -
>>>       Java Memory Model Compliance
>>>     * [RIVER-433 <https://issues.apache.org/jira/browse/RIVER-433>] -
>>>       Test suite freeze while testing service discovery category
>>>
>>>
>>>     Improvement
>>>
>>>     * [RIVER-26 <https://issues.apache.org/jira/browse/RIVER-26>] - Make
>>>       UmbrellaGrantPermission work with DynamicPolicy
>>>     * [RIVER-107 <https://issues.apache.org/jira/browse/RIVER-107>] -
>>>       DynamicPolicyProvider could use finer grained locking
>>>     * [RIVER-123 <https://issues.apache.org/jira/browse/RIVER-123>] -
>>>       ConfigurationFile should support arithmetic operations
>>>     * [RIVER-140 <https://issues.apache.org/jira/browse/RIVER-140>] -
>>>       JoinManager synchronization strategy should be reviewed,
>>>       documented, and fixed where appropriate
>>>     * [RIVER-193 <https://issues.apache.org/jira/browse/RIVER-193>] -
>>>       support declaring entries in a "common" configuration source for
>>>       use in other configuration sources
>>>     * [RIVER-249 <https://issues.apache.org/jira/browse/RIVER-249>] -
>>>       DynamicPolicy providers do not support UmbrellaGrantPermission
>>>     * [RIVER-274 <https://issues.apache.org/jira/browse/RIVER-274>] -
>>>       Improve logging of diagnostic messages in ServiceDiscoveryManager
>>>     * [RIVER-343 <https://issues.apache.org/jira/browse/RIVER-343>] -
>>>       Private class extends java.lang.Thread, causing synchronization
>>>       bottleneck.
>>>     * [RIVER-386 <https://issues.apache.org/jira/browse/RIVER-386>] -
>>>       Refactor of FastList inside of Outrigger
>>>     * [RIVER-401 <https://issues.apache.org/jira/browse/RIVER-401>] -
>>>       PreferredClassProvider using URL as key in map
>>>     * [RIVER-412 <https://issues.apache.org/jira/browse/RIVER-412>] -
>>>       rename com.sun.jini packages to org.apache.river.impl
>>>     * [RIVER-439 <https://issues.apache.org/jira/browse/RIVER-439>] -
>>>       River only builds on Sun's JVM, add support for other JVM's
>>>
>>>
>>>     New Feature
>>>
>>>     * [RIVER-313 <https://issues.apache.org/jira/browse/RIVER-313>] -
>>>       Provide mechanism to swap in alternatives to Java DSL for service
>>>       configuration
>>>     * [RIVER-340 <https://issues.apache.org/jira/browse/RIVER-340>] -
>>>       Additional Dynamic Grants and Revokeable Permissions
>>>
>>>
>>>     Question
>>>
>>>     * [RIVER-365 <https://issues.apache.org/jira/browse/RIVER-365>] -
>>>       main build.xml contains remarks about deprecated (and to be
>>>       removed) targets, needs clarification
>>>
>>>
>>>     TCK Challenge
>>>
>>>     * [RIVER-419 <https://issues.apache.org/jira/browse/RIVER-419>] -
>>>       ServiceDiscoveryManager lookup qa TCK tests need to be reviewed
>>>
>>>
>>>     Task
>>>
>>>     * [RIVER-261 <https://issues.apache.org/jira/browse/RIVER-261>] -
>>>       update com.sun.* namespace to org.apache.river.*
>>>
>>>
>>>     Test
>>>
>>>     * [RIVER-304 <https://issues.apache.org/jira/browse/RIVER-304>] -
>>>       Reactivate River jtreg tests
>>>
>>>
>>>
>>> On 5/03/2016 2:02 AM, Patricia Shanahan wrote:
>>>> My feeling is that there should be some way to document that it is not
>>>> a real release, keep it as a development download for testing only,
>>>> but make more users aware of it on those terms.
>>>>
>>>> Can we e.g. put "beta" in its name?
>>>>
>>>> What do other people think?
>>>>
>>>> On 3/4/2016 7:57 AM, Greg Trasuk wrote:
>>>>> Changing my vote to +0 for the moment.
>>>>>
>>>>> OK, so what we have here is a build bug.
>>>>>
>>>>> If you do an ‘ant clean’ then ‘ant river-runtime’, all is good.
>>>>> Do ‘ant river-runtime’ again, you get the failure that Patricia is
>>>>> seeing.
>>>>>
>>>>> If you ‘cd qa’ then do ‘ant run-categories’ the qa suite runs
without
>>>>> error.  That target doesn’t attempt to rebuild the main
>>>>> distribution.  The ‘run’ target inside ‘qa’ _does_ rebuild the
main
>>>>> distribution (I’m not sure why that was put in there, but that’s
the
>>>>> way it’s been forever).  Hence it shows the error mentioned above.
>>>>>
>>>>> When I was doing my testing, I ran ‘ant run-categories’ to run the
>>>>> test suite, so I didn’t see this build bug.
>>>>>
>>>>> On the one hand, I’m inclined to cancel the vote, figure out the bug,
>>>>> and spin a new release.  That could potentially take a while, because
>>>>> the bug smells of a nasty circularity in the build (or it could be
>>>>> trivial).
>>>>>
>>>>> On the other hand, we did say that this was a “technology preview”
>>>>> release that is supposed to get 3.0.0 into the hands of potential
>>>>> users, knowing full well that there are a lot of changes from the 2.2
>>>>> branch, and people might find operational bugs.  People have run the
>>>>> qa suite, and it the whole package probably works just fine.  And the
>>>>> licensing is fine.  So we could probably just go ahead and release it.
>>>>>
>>>>> I’m not sure what to do.  Any opinions?
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Greg Trasuk.
>>>>>> On Mar 3, 2016, at 4:57 PM, Patricia Shanahan <pats@acm.org>
wrote:
>>>>>>
>>>>>> The file wk1 in the attached zip is the result of:
>>>>>>
>>>>>> pats@pats-acer1:/River_3.0/src/apache-river-3.0.0$ ant clean 2>&1
>>>>>> >wk1
>>>>>> pats@pats-acer1:/River_3.0/src/apache-river-3.0.0$ ant -v 2>&1
>>wk1
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 03/03/2016 09:01 AM, Greg Trasuk wrote:
>>>>>>> That’s quite odd.  Can you do an ‘ant clean’, then ‘ant
-v’ and
>>>>>>> post the complete scrollback, from the ‘ant clean’ command,
to the
>>>>>>> final ‘build failed’?
>>>>>>>
>>>>>>> There is a chance, I suppose, that Ubuntu uses a different version
>>>>>>> of Java (i.e. OpenJDK rather than Oracle JDK) or has something
else
>>>>>>> pre-installed that is interfering with the build.  I haven’t
tried
>>>>>>> building on Ubuntu myself, but I’m pretty sure I’ve used
OpenJDK at
>>>>>>> some point, and it was fine.
>>>>>>>
>>>>>>> Cheers,
>>>>>>>
>>>>>>> Greg Trasuk
>>>>>>>
>>>>>>>> On Mar 3, 2016, at 11:35 AM, Patricia Shanahan <pats@acm.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Tried that. I even went back and re-extracted the .zip file,
in
>>>>>>>> case prior attempts had left tire marks. After the extract
I did
>>>>>>>>
>>>>>>>> ant
>>>>>>>> ant qa.run
>>>>>>>>
>>>>>>>> and got the same errors. This is on Ubuntu.
>>>>>>>>
>>>>>>>> Unfortunately, I cannot cast a binding vote for a release
I cannot
>>>>>>>> run.
>>>>>>>>
>>>>>>>> On 3/3/2016 6:20 AM, Greg Trasuk wrote:
>>>>>>>>> Try running just ‘ant’ before you do ‘ant qa.run’.
 That should
>>>>>>>>> run the default build target.
>>>>>>>>>
>>>>>>>>> It appears that ‘qa.run’ is skipping the step where
it downloads
>>>>>>>>> the external dependencies.  ‘ant’ on its own should
do the build,
>>>>>>>>> then ‘ant qa.run’ should work.
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>>
>>>>>>>>> Greg Trasuk
>>>>>>>>>
>>>>>>>>>> On Mar 2, 2016, at 8:26 PM, Patricia Shanahan <pats@acm.org>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> I seem to be missing some set-up that needs doing
before "ant
>>>>>>>>>> qa.run".
>>>>>>>>>>
>>>>>>>>>> ng: Class not found: groovy.lang.MetaMethod
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> org.codehaus.groovy.reflection.ClassInfo
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> org.codehaus.groovy.runtime.wrappers.Wrapper
>>>>>>>>>>      [java] Warning: Class not found: groovy.lang.Reference
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> org.codehaus.groovy.runtime.callsite.CallSiteArray
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> groovy.lang.GroovyCodeSource
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> org.codehaus.groovy.runtime.callsite.CallSite
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> org.codehaus.groovy.runtime.GeneratedClosure
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> org.codehaus.groovy.runtime.typehandling.ShortTypeHandling
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> org.codehaus.groovy.runtime.ScriptBytecodeAdapter
>>>>>>>>>>      [java] Warning: Class not found: groovy.lang.Closure
>>>>>>>>>>      [java] Warning: Class not found: groovy.lang.MetaClass
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> org.cliffc.high_scale_lib.NonBlockingHashMap
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> org.codehaus.groovy.runtime.BytecodeInterface8
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> org.codehaus.groovy.runtime.ArrayUtil
>>>>>>>>>>      [java] Warning: Class not found: groovy.lang.GroovyObject
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> groovy.lang.GroovyClassLoader
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation
>>>>>>>>>>
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> org.codehaus.groovy.control.CompilerConfiguration
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> org.codehaus.groovy.runtime.GStringImpl
>>>>>>>>>>      [java] Warning: Class not found:
>>>>>>>>>> groovy.lang.MissingPropertyException
>>>>>>>>>>       [jar] Building jar:
>>>>>>>>>> /River_3.0/src/apache-river-3.0.0/lib/jsk-platform.jar
>>>>>>>>>>      [java] no text found: "preflistgen.error"
>>>>>>>>>>      [java] java.lang.NoClassDefFoundError:
>>>>>>>>>> org/codehaus/groovy/runtime/GeneratedClosure
>>>>>>>>>>      [java]     at java.lang.ClassLoader.defineClass1(Native
>>>>>>>>>> Method)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.lang.ClassLoader.defineClass(ClassLoader.java:800)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.net.URLClassLoader.access$100(URLClassLoader.java:71)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.net.URLClassLoader$1.run(URLClassLoader.java:361)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.security.AccessController.doPrivileged(Native
Method)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>>>>>>>>      [java]     at java.lang.Class.forName0(Native
Method)
>>>>>>>>>>      [java]     at java.lang.Class.forName(Class.java:278)
>>>>>>>>>>      [java]     at
>>>>>>>>>> org.apache.river.tool.PreferredListGen.compute(PreferredListGen.java:1162)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>      [java]     at
>>>>>>>>>> org.apache.river.tool.PreferredListGen.main(PreferredListGen.java:1420)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>      [java] Caused by: java.lang.ClassNotFoundException:
>>>>>>>>>> org.codehaus.groovy.runtime.GeneratedClosure
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.security.AccessController.doPrivileged(Native
Method)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>>>>>>>>>      [java]     at
>>>>>>>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>>>>>>>>      [java]     ... 15 more
>>>>>>>>>>
>>>>>>>>>> BUILD FAILED
>>>>>>>>>> /River_3.0/src/apache-river-3.0.0/build.xml:2205:
The following
>>>>>>>>>> error occurred while executing this line:
>>>>>>>>>> /River_3.0/src/apache-river-3.0.0/qa/build.xml:144:
The
>>>>>>>>>> following error occurred while executing this line:
>>>>>>>>>> /River_3.0/src/apache-river-3.0.0/build.xml:973:
The following
>>>>>>>>>> error occurred while executing this line:
>>>>>>>>>> /River_3.0/src/apache-river-3.0.0/common.xml:253:
Java
>>>>>>>>>> returned: 1
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 03/02/2016 04:20 PM, Peter wrote:
>>>>>>>>>>> ant qa.run
>>>>>>>>>>> ant test
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>>
>>>>>>>>>>> Peter.
>>>>>>>>>>>
>>>>>>>>>>> Sent from my Samsung device.
>>>>>>>>>>>      Include original message
>>>>>>>>>>> ---- Original message ----
>>>>>>>>>>> From: Patricia Shanahan <pats@acm.org>
>>>>>>>>>>> Sent: 03/03/2016 09:44:57 am
>>>>>>>>>>> To: dev@river.apache.org
>>>>>>>>>>> Subject: Re: Reminder: [Vote] Release Apache
River JTSK 3.0.0
>>>>>>>>>>>
>>>>>>>>>>> I have built from the release artifacts, on a
Ubuntu box. What
>>>>>>>>>>> is the
>>>>>>>>>>> simplest way of running some tests against my
build result?
>>>>>>>>>>>
>>>>>>>>>>> On 3/2/2016 2:25 PM, Patricia Shanahan wrote:
>>>>>>>>>>>>   I have just got done with another project
that was my
>>>>>>>>>>>> highest priority
>>>>>>>>>>>>   for a couple of weeks. I'll attempt to
build and test so
>>>>>>>>>>>> that I can cast
>>>>>>>>>>>>   a binding vote.
>>>>>>>>>>>>
>>>>>>>>>>>>   On 3/2/2016 12:12 PM, Greg Trasuk wrote:
>>>>>>>>>>>>>   Hi folks - we’re still short one
binding vote for this
>>>>>>>>>>>>> release.  So,
>>>>>>>>>>>>>   if you can, please have a look at the
artifacts and have
>>>>>>>>>>>>> your say..
>>>>>>>>>>>>>
>>>>>>>>>>>>>   Cheers,
>>>>>>>>>>>>>
>>>>>>>>>>>>>   Greg Trasuk
>>>>>>>>>>>>>>   On Feb 23, 2016, at 3:43 PM, Greg
Trasuk
>>>>>>>>>>>>>> <trasukg@stratuscom.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>   Hello all:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>   Release candidate artifacts can
be found at
>>>>>>>>>>>>>>   https://dist.apache.org/repos/dist/dev/river/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>   Binary release artifacts are staged
in
>>>>>>>>>>>>>> https://repository.apache.org/content/repositories/orgapacheriver-1003/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>   The vote will remain open for at
least 72 hours (Ending no
>>>>>>>>>>>>>> sooner
>>>>>>>>>>>>>>   than 2100UTC 20160226.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>   [  ] +1 : I am in favour of this
release
>>>>>>>>>>>>>>   [  ] +0 : I am not opposed to this
release.
>>>>>>>>>>>>>>   [  ] -1: I am against this release
(please provide your
>>>>>>>>>>>>>> reasons).
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>   Cheers,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>   Greg Trasuk
>>>>>>>>>>>>>>
>>>>>>
>>>>>> <wk1.zip>
>>>>>
>>>>
>>>
>>>
>>
>

Mime
View raw message