Just reporting back on my experiences with the vanilla optimization branch:
1. should the LdifReaderTest.java unit test be disabled until it
passes, or is it being left present but broken intentionally? It's
just that every time I SVN update I have to remember to ditch this
file or my "mvn install" will break.
2. When I started up ADS using the default log4j.properties I got an
NPE when trying to bind as the admin user from LdapResult.java:549
(started by a debug message .toString()) because it incorrectly
assumed matchedDN will never be null, which appears to be false for
bind responses:
[14:55:16] DEBUG [org.apache.directory.shared.asn1.ber.Asn1Decoder] - <<<=======
===================================
[14:55:16] DEBUG [org.apache.directory.shared.ldap.codec.TwixDecoder] - Decoding
the PDU :
[14:55:16] DEBUG [org.apache.directory.shared.ldap.codec.TwixDecoder] - 0x30 0x2
5 0x02 0x01 0x01 0x60 0x20 0x02 0x01 0x03 0x04 0x13 0x75 0x69 0x64 0x3D 0x61 0x6
4 0x6D 0x69 0x6E 0x2C 0x6F 0x75 0x3D 0x73 0x79 0x73 0x74 0x65 0x6D 0x80 0x06 0x7
3 0x65 0x63 0x72 0x65 0x74
[14:55:16] DEBUG [org.apache.directory.shared.ldap.codec.TwixDecoder] - Decoded
LdapMessage : LdapMessage
message Id : 1
BindRequest
Version : '3'
Name : 'uid=admin,ou=system'
Simple authentication : '[EMAIL PROTECTED]'
[14:55:16] DEBUG [org.apache.directory.shared.ldap.codec.TwixTransformer] - Tran
sforming LdapMessage <1, BIND_REQUEST> from Twix to Snickers.
[14:55:16] DEBUG [org.apache.directory.server.core.partition.DefaultDirectoryPar
titionNexus] - Check if DN '0.9.2342.19200300.100.1.1=admin,2.5.4.11=system' exi
sts.
[14:55:16] DEBUG [org.apache.directory.shared.ldap.codec.TwixTransformer] - Tran
sforming message type MessageTypeEnum[BINDRESPONSE=1073741825]
[14:55:16] WARN [org.apache.directory.server.ldap.LdapProtocolProvider$LdapProto
colHandler] - [/127.0.0.1:1436] Unexpected exception forcing session to close: s
ending disconnect notice to client.
org.apache.mina.filter.codec.ProtocolEncoderException: java.lang.NullPointerExce
ption
at org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(Protocol
CodecFilter.java:237)
at org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilt
erWrite(AbstractIoFilterChain.java:583)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1200(Abst
ractIoFilterChain.java:51)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filt
erWrite(AbstractIoFilterChain.java:799)
at org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(Ab
stractIoFilterChain.java:212)
at org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilt
erWrite(AbstractIoFilterChain.java:583)
at org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(Abst
ractIoFilterChain.java:574)
at org.apache.mina.transport.socket.nio.SocketSessionImpl.write0(SocketS
essionImpl.java:176)
at org.apache.mina.common.support.BaseIoSession.write(BaseIoSession.java
:136)
at org.apache.directory.server.ldap.support.BindHandler.messageReceived(
BindHandler.java:145)
at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(Demux
ingIoHandler.java:128)
at org.apache.directory.server.ldap.LdapProtocolProvider$LdapProtocolHan
dler.messageReceived(LdapProtocolProvider.java:399)
at org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceive
d(AbstractIoFilterChain.java:188)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageR
eceived(AbstractIoFilterChain.java:501)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1000(Abst
ractIoFilterChain.java:51)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.mess
ageReceived(AbstractIoFilterChain.java:787)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(Prot
ocolCodecFilter.java:187)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageR
eceived(AbstractIoFilterChain.java:501)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1000(Abst
ractIoFilterChain.java:51)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.mess
ageReceived(AbstractIoFilterChain.java:787)
at org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter
.java:718)
at org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPo
olFilter.java:474)
at org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.j
ava:429)
Caused by: java.lang.NullPointerException
at org.apache.directory.shared.ldap.codec.LdapResult.toString(LdapResult
.java:549)
at org.apache.directory.shared.ldap.codec.LdapResponse.toString(LdapResp
onse.java:129)
at org.apache.directory.shared.ldap.codec.bind.BindResponse.toString(Bin
dResponse.java:173)
at org.apache.directory.shared.ldap.codec.LdapMessage.toString(LdapMessa
ge.java:658)
at java.lang.String.valueOf(String.java:2577)
at java.lang.StringBuffer.append(StringBuffer.java:220)
at org.apache.directory.shared.ldap.codec.TwixTransformer.transform(Twix
Transformer.java:1195)
at org.apache.directory.shared.ldap.message.MessageEncoder.encode(Messag
eEncoder.java:128)
at org.apache.mina.filter.codec.asn1.Asn1CodecEncoder.encode(Asn1CodecEn
coder.java:55)
at org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(Protocol
CodecFilter.java:226)
... 22 more
3. After fixing this NPE I still can't query the ADS schema by going
to JXplorer's schema panel after performing a successful bind. I don't
get the same assertion failure observed on the 1.1 main trunk, but I
do get the same result that JXplorer says "reading..." forever and no
schema information is displayed. Hence I think the same root problem
exists in both the optimization trunks and 1.1 trunk.
I'll open a JIRA.
Thanks