FYI we're currently in the process of releasing ApacheDS 1.5.4 which should have serious improvements.  Will be out the door in about 1-2 hours.

Alex

On Wed, Sep 10, 2008 at 10:05 PM, Donald Woods <dwoods@apache.org> wrote:
Agree.  Once we're in release mode, rolling back to genesis 1.4 is fine.


-Donald


Joe Bohn wrote:
Right ... but we're trying to release a non-snapshot version of the samples.  So, I don't see the harm in rolling it back to genesis 1.4 for the release if the only value add was for snapshot processing.

Joe



Donald Woods wrote:
1.5-SNAPSHOT includes the settings to not generate timestamped snapshot artifacts, as requested by infra.


-Donald


Joe Bohn wrote:
Donald Woods wrote:
I'd vote for going with 1a) over 1b) and 1c) is not an option in my mind.  If someone ever does 1b) then great, but lets not hold up the samples over it.


BTW - Should we start a Genesis 1.5 vote, since Samples is currently using and needs the 1.5-SNAPSHOT level?

Oh yes, I forgot that you had updated that for 1.5-SNAPSHOT. What was the rationale in doing that again over 1.4?  I had updated it to 1.4 earlier and it seemed to be working fine.  Was it just for the snapshot processing?  If that was the case then there doesn't seem to be much value in moving to 1.5-SNAPSHOT and making that a prereq for a samples release.

Joe



-Donald


Joe Bohn wrote:

Two issues here that I hit while attempting to validate the LDAP sample and get it ready for release.

1) The directory plugin won't install on Geronimo 2.1.2.  At the moment, one of the easiest ways to leverage the sample if you don't already have an external directory server is via the directory plugin.  However, this plugin was last released for Geronimo 2.1.  It fails to install on 2.1.1 or 2.1.2 due to dependencies on 2.1 artifacts.  2.1.2 was our latest target release for samples.   With the inclusion of the alias entries it deploys fine in Geronimo 2.1.3.  So I think we have the following options:

a) Require an external directory server for the sample rather than using the directory plugin if installing on a Geronimo 2.1.2 server
b) Release a new version of the directory plugin with dependencies on Geronimo 2.1.2 which would install in both 2.1.2 & 2.1.3
c) Push our samples support out from 2.1.2 to 2.1.3
d) other choices (such as creating a compatibility plugin for this on 2.1.2 and using that for a 2.1.2 install) or any other ideas?

I personally hate c).  We keep pushing samples to later releases ... but it does make sense that samples are most valuable for new users on the latest release so I see the logic.  d) doesn't seem any better than creating a new version of the directory plugin for 2.1.2 (and it's more complicated for the user).  a) isn't very user friendly either and doesn't help users with a need to run directory on Geronimo 2.1.2.

- So all in all, I'm thinking b) makes the most sense given that it has broader use beyond just the sample.  What are your thoughts?



2) While testing the sample I noticed the following error on the console.  I couldn't tie it to any particular activity ... it seemed that the sample was working as expected.  Any ideas?

15:06:18,110 ERROR [UnbindHandler] failed to unbind session properly
org.apache.directory.shared.ldap.exception.LdapNameNotFoundException: uid=admin,ou=system
   at org.apache.directory.server.core.partition.DefaultPartitionNexus.getPartition(DefaultPartitionNexus.java:1114)
   at org.apache.directory.server.core.partition.DefaultPartitionNexus.unbind(DefaultPartitionNexus.java:773)
   at org.apache.directory.server.core.interceptor.InterceptorChain$1.unbind(InterceptorChain.java:210)
   at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.unbind(InterceptorChain.java:1412)
   at org.apache.directory.server.core.interceptor.BaseInterceptor.unbind(BaseInterceptor.java:229)
   at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.unbind(InterceptorChain.java:1412)
   at org.apache.directory.server.core.interceptor.BaseInterceptor.unbind(BaseInterceptor.java:229)
   at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.unbind(InterceptorChain.java:1412)
   at org.apache.directory.server.core.interceptor.BaseInterceptor.unbind(BaseInterceptor.java:229)
   at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.unbind(InterceptorChain.java:1412)
   at org.apache.directory.server.core.interceptor.BaseInterceptor.unbind(BaseInterceptor.java:229)
   at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.unbind(InterceptorChain.java:1412)
   at org.apache.directory.server.core.interceptor.BaseInterceptor.unbind(BaseInterceptor.java:229)
   at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.unbind(InterceptorChain.java:1412)
   at org.apache.directory.server.core.interceptor.BaseInterceptor.unbind(BaseInterceptor.java:229)
   at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.unbind(InterceptorChain.java:1412)
   at org.apache.directory.server.core.interceptor.BaseInterceptor.unbind(BaseInterceptor.java:229)
   at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.unbind(InterceptorChain.java:1412)
   at org.apache.directory.server.core.interceptor.BaseInterceptor.unbind(BaseInterceptor.java:229)
   at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.unbind(InterceptorChain.java:1412)
   at org.apache.directory.server.core.interceptor.BaseInterceptor.unbind(BaseInterceptor.java:229)
   at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.unbind(InterceptorChain.java:1412)
   at org.apache.directory.server.core.interceptor.BaseInterceptor.unbind(BaseInterceptor.java:229)
   at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.unbind(InterceptorChain.java:1412)
   at org.apache.directory.server.core.interceptor.BaseInterceptor.unbind(BaseInterceptor.java:229)
   at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.unbind(InterceptorChain.java:1412)
   at org.apache.directory.server.core.interceptor.BaseInterceptor.unbind(BaseInterceptor.java:229)
   at org.apache.directory.server.core.interceptor.InterceptorChain.unbind(InterceptorChain.java:794)
   at org.apache.directory.server.core.partition.PartitionNexusProxy.unbind(PartitionNexusProxy.java:684)
   at org.apache.directory.server.core.partition.PartitionNexusProxy.unbind(PartitionNexusProxy.java:701)
   at org.apache.directory.server.core.jndi.ServerLdapContext.ldapUnbind(ServerLdapContext.java:210)
   at org.apache.directory.server.ldap.support.UnbindHandler.messageReceived(UnbindHandler.java:58)
   at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:141)
   at org.apache.directory.server.ldap.LdapProtocolProvider$LdapProtocolHandler.messageReceived(LdapProtocolProvider.java:428)
   at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:570)
   at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
   at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
   at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
   at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
   at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:176)
   at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
   at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
   at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
   at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
   at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
   at java.lang.Thread.run(Thread.java:613)