DO NOT REPLY [Bug 46373] tomcat6 cpu100%
https://issues.apache.org/bugzilla/show_bug.cgi?id=46373 --- Comment #9 from huangjunjie 2008-12-24 00:54:14 PST --- Ok, we will try it,thank you -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r729318 - in /tomcat/trunk/test/org/apache/el/parser: ./ TestELParser.java
Author: markt Date: Wed Dec 24 07:11:07 2008 New Revision: 729318 URL: http://svn.apache.org/viewvc?rev=729318&view=rev Log: Add some unit tests for the EL parser based on some recent bugs Added: tomcat/trunk/test/org/apache/el/parser/ tomcat/trunk/test/org/apache/el/parser/TestELParser.java Added: tomcat/trunk/test/org/apache/el/parser/TestELParser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/el/parser/TestELParser.java?rev=729318&view=auto == --- tomcat/trunk/test/org/apache/el/parser/TestELParser.java (added) +++ tomcat/trunk/test/org/apache/el/parser/TestELParser.java Wed Dec 24 07:11:07 2008 @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.el.parser; + +import javax.el.ValueExpression; + +import org.apache.el.ExpressionFactoryImpl; +import org.apache.jasper.el.ELContextImpl; + +import junit.framework.TestCase; + +public class TestELParser extends TestCase { + +public void testBug45511() { +// Test cases provided by OP +assertEquals("true", evaluateExpression("${empty ('')}")); +assertEquals("true", evaluateExpression("${empty('')}")); +assertEquals("false", evaluateExpression("${(true) and (false)}")); +assertEquals("false", evaluateExpression("${(true)and(false)}")); +} + + +public void testBug42565() { +// Test cases provided by OP +assertEquals("false", evaluateExpression("${false?true:false}")); +} + + +public void testMisc() { +// From bug 45451 - not a parser bug +assertEquals("\\", evaluateExpression("")); +} + + +private String evaluateExpression(String expression) { +ELContextImpl ctx = new ELContextImpl(); +ExpressionFactoryImpl exprFactory = new ExpressionFactoryImpl(); +ValueExpression ve = +exprFactory.createValueExpression(ctx, expression, String.class ); +return (String) ve.getValue(ctx); +} +} - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r729320 - in /tomcat/trunk/test/org/apache: catalina/tribes/demos/ChannelCreator.java el/lang/TestELSupport.java
Author: markt Date: Wed Dec 24 07:15:10 2008 New Revision: 729320 URL: http://svn.apache.org/viewvc?rev=729320&view=rev Log: Fix a couple of Eclipse warnings Modified: tomcat/trunk/test/org/apache/catalina/tribes/demos/ChannelCreator.java tomcat/trunk/test/org/apache/el/lang/TestELSupport.java Modified: tomcat/trunk/test/org/apache/catalina/tribes/demos/ChannelCreator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/demos/ChannelCreator.java?rev=729320&r1=729319&r2=729320&view=diff == --- tomcat/trunk/test/org/apache/catalina/tribes/demos/ChannelCreator.java (original) +++ tomcat/trunk/test/org/apache/catalina/tribes/demos/ChannelCreator.java Wed Dec 24 07:15:10 2008 @@ -193,7 +193,7 @@ sender.setRxBufSize(43800); sender.setTxBufSize(25188); -Iterator i = transportProperties.keySet().iterator(); +Iterator i = transportProperties.keySet().iterator(); while ( i.hasNext() ) { String key = (String)i.next(); IntrospectionUtils.setProperty(sender,key,transportProperties.getProperty(key)); Modified: tomcat/trunk/test/org/apache/el/lang/TestELSupport.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/el/lang/TestELSupport.java?rev=729320&r1=729319&r2=729320&view=diff == --- tomcat/trunk/test/org/apache/el/lang/TestELSupport.java (original) +++ tomcat/trunk/test/org/apache/el/lang/TestELSupport.java Wed Dec 24 07:15:10 2008 @@ -57,7 +57,7 @@ } public void testCoerceIntegerToNumber() { -Integer input = 4390241; +Integer input = Integer.valueOf(4390241); Object output = ELSupport.coerceToType(input, Number.class); assertEquals(input, output); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r729321 - in /tomcat/trunk/java/org/apache/catalina/tribes/util: Arrays.java StringManager.java
Author: markt Date: Wed Dec 24 07:24:08 2008 New Revision: 729321 URL: http://svn.apache.org/viewvc?rev=729321&view=rev Log: Generics for o.a.c.tribes.util Modified: tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java?rev=729321&r1=729320&r2=729321&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java Wed Dec 24 07:24:08 2008 @@ -132,7 +132,8 @@ public static Member[] merge(Member[] m1, Member[] m2) { AbsoluteOrder.absoluteOrder(m1); AbsoluteOrder.absoluteOrder(m2); -ArrayList list = new ArrayList(java.util.Arrays.asList(m1)); +ArrayList list = +new ArrayList(java.util.Arrays.asList(m1)); for (int i=0; i result = new ArrayList(); MemberImpl[] comp = complete.getMembers(); for ( int i=0; i alist = java.util.Arrays.asList(all); +ArrayList list = new ArrayList(alist); for (int i=0; ihttp://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java?rev=729321&r1=729320&r2=729321&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java Wed Dec 24 07:24:08 2008 @@ -147,7 +147,7 @@ Object nonNullArgs[] = args; for (int i=0; i managers = +new Hashtable(); /** * Get the StringManager for a particular package. If a manager for @@ -242,7 +243,7 @@ */ public synchronized static StringManager getManager(String packageName) { -StringManager mgr = (StringManager)managers.get(packageName); +StringManager mgr = managers.get(packageName); if (mgr == null) { mgr = new StringManager(packageName); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r729322 - in /tomcat/trunk/java/org/apache/catalina/tribes/transport/nio: NioReceiver.java ParallelNioSender.java PooledParallelSender.java
Author: markt Date: Wed Dec 24 07:37:17 2008 New Revision: 729322 URL: http://svn.apache.org/viewvc?rev=729322&view=rev Log: Generics for o.a.c.tribes.transport.nio Fix some other Eclispe warnings (unused code etc) Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java?rev=729322&r1=729321&r2=729322&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java Wed Dec 24 07:37:17 2008 @@ -18,7 +18,6 @@ package org.apache.catalina.tribes.transport.nio; import java.io.IOException; -import java.net.InetSocketAddress; import java.net.ServerSocket; import java.nio.channels.DatagramChannel; import java.nio.channels.SelectableChannel; @@ -63,7 +62,7 @@ private ServerSocketChannel serverChannel = null; private DatagramChannel datagramChannel = null; -protected LinkedList events = new LinkedList(); +protected LinkedList events = new LinkedList(); //private Object interestOpsMutex = new Object(); public NioReceiver() { @@ -133,7 +132,7 @@ selector = Selector.open(); // set the port the server channel will listen to //serverSocket.bind(new InetSocketAddress(getBind(), getTcpListenPort())); -bind(serverSocket,getTcpListenPort(),getAutoBind()); +bind(serverSocket,getPort(),getAutoBind()); // set non-blocking mode for the listening socket serverChannel.configureBlocking(false); // register the ServerSocketChannel with the Selector @@ -165,7 +164,7 @@ if ( events.size() == 0 ) return; synchronized (events) { Runnable r = null; -while ( (events.size() > 0) && (r = (Runnable)events.removeFirst()) != null ) { +while ( (events.size() > 0) && (r = events.removeFirst()) != null ) { try { if ( log.isTraceEnabled() ) log.trace("Processing event in selector:"+r); r.run(); @@ -198,10 +197,10 @@ if ( (now-lastCheck) < getSelectorTimeout() ) return; //timeout Selector tmpsel = selector; -Set keys = (isListening()&&tmpsel!=null)?tmpsel.keys():null; +Set keys = (isListening()&&tmpsel!=null)?tmpsel.keys():null; if ( keys == null ) return; -for (Iterator iter = keys.iterator(); iter.hasNext(); ) { -SelectionKey key = (SelectionKey) iter.next(); +for (Iterator iter = keys.iterator(); iter.hasNext(); ) { +SelectionKey key = iter.next(); try { //if (key.interestOps() == SelectionKey.OP_READ) { ////only timeout sockets that we are waiting for a read from @@ -217,7 +216,7 @@ ObjectReader ka = (ObjectReader) key.attachment(); if ( ka != null ) { long delta = now - ka.getLastAccess(); -if (delta > (long) getTimeout() && (!ka.isAccessed())) { +if (delta > getTimeout() && (!ka.isAccessed())) { if (log.isWarnEnabled()) log.warn("Channel key is registered, but has had no interest ops for the last "+getTimeout()+" ms. (cancelled:"+ka.isCancelled()+"):"+key+" last access:"+new java.sql.Timestamp(ka.getLastAccess())+" Possible cause: all threads used, perform thread dump"); ka.setLastAccess(now); @@ -264,7 +263,7 @@ try { events(); socketTimeouts(); -int n = selector.select(getTcpSelectorTimeout()); +int n = selector.select(getSelectorTimeout()); if (n == 0) { //there is a good chance that we got here //because the TcpReplicationThread called @@ -279,10 +278,10 @@ continue; // nothing to do } // get an iterator over the set of selected keys -Iterator it = (selector!=null)?selector.selectedKeys().iterator():null; +Iterator it = (selector!=null)?selector.selectedKeys().iterator():null; // look at each key in the selected set while (selector!=null && it.hasNext()) { -SelectionKey key = (SelectionKey) it.next(); +SelectionKey key = it.next(); // Is a new connectio
svn commit: r729323 - in /tomcat/trunk/java/org/apache/catalina/tribes/transport/bio: MultipointBioSender.java PooledMultiSender.java util/FastQueue.java util/SingleRemoveSynchronizedAddLock.java
Author: markt Date: Wed Dec 24 07:59:03 2008 New Revision: 729323 URL: http://svn.apache.org/viewvc?rev=729323&view=rev Log: Generics for o.a.c.tribes.transport.bio Fix various Eclipse warnings (unused code etc) Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/SingleRemoveSynchronizedAddLock.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java?rev=729323&r1=729322&r2=729323&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java Wed Dec 24 07:59:03 2008 @@ -41,7 +41,8 @@ } protected long selectTimeout = 1000; -protected HashMap bioSenders = new HashMap(); +protected HashMap bioSenders = +new HashMap(); public synchronized void sendMessage(Member[] destination, ChannelMessage msg) throws ChannelException { byte[] data = XByteBuffer.createDataPackage((ChannelData)msg); @@ -65,10 +66,10 @@ BioSender[] result = new BioSender[destination.length]; for ( int i=0; i[] entries = bioSenders.entrySet().toArray(new Map.Entry[bioSenders.size()]); for ( int i=0; ihttp://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java?rev=729323&r1=729322&r2=729323&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java Wed Dec 24 07:59:03 2008 @@ -16,6 +16,7 @@ */ package org.apache.catalina.tribes.transport.bio; +import org.apache.catalina.tribes.transport.AbstractSender; import org.apache.catalina.tribes.transport.DataSender; import org.apache.catalina.tribes.transport.PooledSender; import org.apache.catalina.tribes.Member; @@ -65,7 +66,7 @@ */ public DataSender getNewDataSender() { MultipointBioSender sender = new MultipointBioSender(); -sender.transferProperties(this,sender); +AbstractSender.transferProperties(this,sender); return sender; } Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java?rev=729323&r1=729322&r2=729323&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java Wed Dec 24 07:59:03 2008 @@ -61,11 +61,7 @@ */ private boolean checkLock = false; -/** - * protocol the thread wait times - */ -private boolean timeWait = false; - + private boolean inAdd = false; private boolean inRemove = false; @@ -99,11 +95,6 @@ private int maxSize = 0; /** - * avg size sample interval - */ -private int sampleInterval = 100; - -/** * Generate Queue SingleRemoveSynchronizedAddLock and set add and wait * Timeouts */ @@ -251,7 +242,6 @@ */ public boolean add(ChannelMessage msg, Member[] destination, InterceptorPayload payload) { boolean ok = true; -long time = 0; if (!enabled) { if (log.isInfoEnabled()) @@ -259,9 +249,6 @@ return false; } -if (timeWait) { -time = System.currentTimeMillis(); -} lock.lockAdd(); try { if (log.isTraceEnabled()) { @@ -327,7 +314,6 @@ public LinkObject remove() { LinkObject element; boolean gotLock; -long time = 0; if (!enabled) { if (log.isInfoEnabled()) @@ -335,9 +321,6 @@ return null; } -if (timeWait) { -time = System.currentTimeMillis(); -} gotLock = lock.lockRemove(); try { @@ -381,9 +364,6 @@ log.trace("FastQueue.remove: remove ending with size " + size); } -if (timeWait) { -time = System.currentTimeMillis(); -} } finally { lock.unlockRemove(); } Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/Sin
svn commit: r729325 - in /tomcat/trunk/java/org/apache/catalina/tribes/transport: PooledSender.java ReceiverBase.java ReplicationTransmitter.java RxTaskPool.java SenderState.java
Author: markt Date: Wed Dec 24 08:03:53 2008 New Revision: 729325 URL: http://svn.apache.org/viewvc?rev=729325&view=rev Log: Generics for o.a.c.tribes.transport Fix various Eclipse warnings (unused code etc) Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java tomcat/trunk/java/org/apache/catalina/tribes/transport/RxTaskPool.java tomcat/trunk/java/org/apache/catalina/tribes/transport/SenderState.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java?rev=729325&r1=729324&r2=729325&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java Wed Dec 24 08:03:53 2008 @@ -101,17 +101,17 @@ PooledSender parent = null; -private List notinuse = null; +private List notinuse = null; -private List inuse = null; +private List inuse = null; private boolean isOpen = true; public SenderQueue(PooledSender parent, int limit) { this.limit = limit; this.parent = parent; -notinuse = new java.util.LinkedList(); -inuse = new java.util.LinkedList(); +notinuse = new java.util.LinkedList(); +inuse = new java.util.LinkedList(); } /** @@ -158,7 +158,7 @@ if (notinuse.size() == 0 && inuse.size() < limit) { sender = parent.getNewDataSender(); } else if (notinuse.size() > 0) { -sender = (DataSender) notinuse.remove(0); +sender = notinuse.remove(0); } if (sender != null) { inuse.add(sender); Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java?rev=729325&r1=729324&r2=729325&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java Wed Dec 24 08:03:53 2008 @@ -227,7 +227,7 @@ throw x; } portstart++; -try {Thread.sleep(25);}catch( InterruptedException ti){Thread.currentThread().interrupted();} +try {Thread.sleep(25);}catch( InterruptedException ti){Thread.interrupted();} retries = bind(socket,portstart,retries); } } @@ -258,7 +258,7 @@ throw x; } portstart++; -try {Thread.sleep(25);}catch( InterruptedException ti){Thread.currentThread().interrupted();} +try {Thread.sleep(25);}catch( InterruptedException ti){Thread.interrupted();} retries = bindUdp(socket,portstart,retries); } } @@ -444,7 +444,7 @@ } public void setLog(Log log) { -this.log = log; +ReceiverBase.log = log; } public void setPool(RxTaskPool pool) { Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java?rev=729325&r1=729324&r2=729325&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java Wed Dec 24 08:03:53 2008 @@ -33,7 +33,6 @@ * @version $Revision$ $Date$ */ public class ReplicationTransmitter implements ChannelSender { -private static org.apache.juli.logging.Log log = org.apache.juli.logging.LogFactory.getLog(ReplicationTransmitter.class); /** * The descriptive information about this implementation. Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/RxTaskPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/RxTaskPool.java?rev=729325&r1=729324&r2=729325&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/RxTaskPool.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/RxTaskPool.java Wed Dec 24 08:03:53 2008 @@ -19,7 +19,6 @@ import
svn commit: r729330 - in /tomcat/trunk/java/org/apache/catalina/tribes/tipis: AbstractReplicatedMap.java LazyReplicatedMap.java ReplicatedMap.java
Author: markt Date: Wed Dec 24 08:18:09 2008 New Revision: 729330 URL: http://svn.apache.org/viewvc?rev=729330&view=rev Log: Generics for o.a.c.tribes.tipis - Note that there may be more to come but AbstractReplicatedMap is a tricky beast for generics so these are just the 'easy' ones Fix various Eclipse warnings (unused code etc) Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java tomcat/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java tomcat/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=729330&r1=729329&r2=729330&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Wed Dec 24 08:18:09 2008 @@ -105,7 +105,7 @@ /** * A list of members in our map */ -protected transient HashMap mapMembers = new HashMap(); +protected transient HashMap mapMembers = new HashMap(); /** * Our default send options */ @@ -251,7 +251,7 @@ if ( channel.getMembers().length > 0 ) { //send a ping, wait for all nodes to reply Response[] resp = rpcChannel.send(channel.getMembers(), - msg, rpcChannel.ALL_REPLY, + msg, RpcChannel.ALL_REPLY, (channelSendOptions), (int) accessTimeout); for (int i = 0; i < resp.length; i++) { @@ -297,7 +297,7 @@ MapMessage msg = new MapMessage(this.mapContextName, msgtype, false, null, null, null, channel.getLocalMember(false), null); if ( rpc) { -Response[] resp = rpcChannel.send(channel.getMembers(), msg, rpcChannel.FIRST_REPLY, (channelSendOptions),rpcTimeout); +Response[] resp = rpcChannel.send(channel.getMembers(), msg, RpcChannel.FIRST_REPLY, (channelSendOptions),rpcTimeout); for (int i = 0; i < resp.length; i++) { mapMemberAdded(resp[i].getSource()); messageReceived(resp[i].getMessage(), resp[i].getSource()); @@ -344,7 +344,7 @@ //-- // GROUP COM INTERFACES //-- -public Member[] getMapMembers(HashMap members) { +public Member[] getMapMembers(HashMap members) { synchronized (members) { Member[] result = new Member[members.size()]; members.keySet().toArray(result); @@ -357,7 +357,7 @@ public Member[] getMapMembersExcl(Member[] exclude) { synchronized (mapMembers) { -HashMap list = (HashMap)mapMembers.clone(); +HashMap list = (HashMap)mapMembers.clone(); for (int i=0; i 0) { synchronized (stateMutex) { msg = (MapMessage) resp[0].getMessage(); @@ -483,20 +483,20 @@ MapMessage mapmsg = (MapMessage) msg; //map init request -if (mapmsg.getMsgType() == mapmsg.MSG_INIT) { +if (mapmsg.getMsgType() == MapMessage.MSG_INIT) { mapmsg.setPrimary(channel.getLocalMember(false)); return mapmsg; } //map start request -if (mapmsg.getMsgType() == mapmsg.MSG_START) { +if (mapmsg.getMsgType() == MapMessage.MSG_START) { mapmsg.setPrimary(channel.getLocalMember(false)); mapMemberAdded(sender); return mapmsg; } //backup request -if (mapmsg.getMsgType() == mapmsg.MSG_RETRIEVE_BACKUP) { +if (mapmsg.getMsgType() == MapMessage.MSG_RETRIEVE_BACKUP) { MapEntry entry = (MapEntry)super.get(mapmsg.getKey()); if (entry == null || (!entry.isSerializable()) )return null; mapmsg.setValue( (Serializable) entry.getValue()); @@ -504,15 +504,15 @@ } //state transfer request -if (mapmsg.getMsgType() == mapmsg.MSG_STATE || mapmsg.getMsgType() == mapmsg.MSG_STATE_COPY) { +if (mapmsg.getMsgType() == MapMessage.MSG_STATE || mapmsg.getMsgType() == MapMessage.MSG_STATE_COPY) { synchronized (stateMutex) { //make sure we dont do two things at the same time -ArrayList list = new ArrayList(); +ArrayList list = new ArrayList(); Iterator i = super.entrySet().iterator(); while (i.hasNext()) { M
svn commit: r729332 - /tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
Author: markt Date: Wed Dec 24 08:35:46 2008 New Revision: 729332 URL: http://svn.apache.org/viewvc?rev=729332&view=rev Log: Some more simple generics and other Eclipse warnings Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=729332&r1=729331&r2=729332&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Wed Dec 24 08:35:46 2008 @@ -260,14 +260,14 @@ } //update our map of members, expire some if we didn't receive a ping back synchronized (mapMembers) { -Iterator it = mapMembers.entrySet().iterator(); +Iterator> it = mapMembers.entrySet().iterator(); long now = System.currentTimeMillis(); while ( it.hasNext() ) { -Map.Entry entry = (Map.Entry)it.next(); -long access = ((Long)entry.getValue()).longValue(); +Map.Entry entry = it.next(); +long access = entry.getValue().longValue(); if ( (now - access) > timeout ) { it.remove(); -memberDisappeared( (Member) entry.getKey()); +memberDisappeared(entry.getKey()); } } }//synch @@ -377,7 +377,7 @@ MapEntry entry = (MapEntry)super.get(key); if ( entry == null ) return; if ( !entry.isSerializable() ) return; -if (entry != null && entry.isPrimary() && entry.getBackupNodes()!= null && entry.getBackupNodes().length > 0) { +if (entry.isPrimary() && entry.getBackupNodes()!= null && entry.getBackupNodes().length > 0) { Object value = entry.getValue(); //check to see if we need to replicate this object isDirty()||complete boolean repl = complete || ( (value instanceof ReplicatedMapEntry) && ( (ReplicatedMapEntry) value).isDirty()); @@ -1055,10 +1055,6 @@ return counter; } -protected boolean removeEldestEntry(Map.Entry eldest) { -return false; -} - public boolean isEmpty() { return size()==0; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r729340 - /tomcat/trunk/java/org/apache/catalina/tribes/membership/Membership.java
Author: markt Date: Wed Dec 24 09:42:58 2008 New Revision: 729340 URL: http://svn.apache.org/viewvc?rev=729340&view=rev Log: Generics for o.a.c.tribes.membership Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/Membership.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/Membership.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/Membership.java?rev=729340&r1=729339&r2=729340&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/membership/Membership.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/membership/Membership.java Wed Dec 24 09:42:58 2008 @@ -22,6 +22,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; +import java.util.Map; import org.apache.catalina.tribes.Member; import java.util.Comparator; @@ -49,7 +50,7 @@ /** * A map of all the members in the cluster. */ -protected HashMap map = new HashMap(); +protected HashMap map = new HashMap(); /** * A list of all the members in the cluster. @@ -59,12 +60,12 @@ /** * sort members by alive time */ -protected Comparator memberComparator = new MemberComparator(); +protected Comparator memberComparator = new MemberComparator(); public Object clone() { synchronized (members) { Membership clone = new Membership(local, memberComparator); -clone.map = (HashMap) map.clone(); +clone.map = (HashMap) map.clone(); clone.members = new MemberImpl[members.length]; System.arraycopy(members,0,clone.members,0,members.length); return clone; @@ -84,11 +85,11 @@ this(local,false); } -public Membership(MemberImpl local, Comparator comp) { +public Membership(MemberImpl local, Comparator comp) { this(local,comp,false); } -public Membership(MemberImpl local, Comparator comp, boolean includeLocal) { +public Membership(MemberImpl local, Comparator comp, boolean includeLocal) { this(local,includeLocal); this.memberComparator = comp; } @@ -114,7 +115,7 @@ if ( member.equals(local) ) return result; //return true if the membership has changed -MbrEntry entry = (MbrEntry)map.get(member); +MbrEntry entry = map.get(member); if ( entry == null ) { entry = addMember(member); result = true; @@ -189,13 +190,13 @@ if(!hasMembers() ) return EMPTY_MEMBERS; -ArrayList list = null; -Iterator i = map.values().iterator(); +ArrayList list = null; +Iterator i = map.values().iterator(); while(i.hasNext()) { -MbrEntry entry = (MbrEntry)i.next(); +MbrEntry entry = i.next(); if( entry.hasExpired(maxtime) ) { if(list == null) // only need a list when members are expired (smaller gc) -list = new java.util.ArrayList(); +list = new java.util.ArrayList(); list.add(entry.getMember()); } } @@ -254,24 +255,16 @@ protected synchronized MbrEntry[] getMemberEntries() { MbrEntry[] result = new MbrEntry[map.size()]; -java.util.Iterator i = map.entrySet().iterator(); +Iterator> i = map.entrySet().iterator(); int pos = 0; while ( i.hasNext() ) -result[pos++] = ((MbrEntry)((java.util.Map.Entry)i.next()).getValue()); +result[pos++] = i.next().getValue(); return result; } // - Inner Class -private class MemberComparator implements java.util.Comparator { - -public int compare(Object o1, Object o2) { -try { -return compare((MemberImpl) o1, (MemberImpl) o2); -} catch (ClassCastException x) { -return 0; -} -} +private class MemberComparator implements Comparator { public int compare(MemberImpl m1, MemberImpl m2) { //longer alive time, means sort first - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r729341 - in /tomcat/trunk/java/org/apache/catalina/tribes/io: BufferPool.java BufferPool15Impl.java ReplicationStream.java XByteBuffer.java
Author: markt Date: Wed Dec 24 09:49:57 2008 New Revision: 729341 URL: http://svn.apache.org/viewvc?rev=729341&view=rev Log: Generics for o.a.c.tribes.io Fix various Eclipse warnings (unused code etc) Modified: tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool.java tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool15Impl.java tomcat/trunk/java/org/apache/catalina/tribes/io/ReplicationStream.java tomcat/trunk/java/org/apache/catalina/tribes/io/XByteBuffer.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool.java?rev=729341&r1=729340&r2=729341&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool.java Wed Dec 24 09:49:57 2008 @@ -59,7 +59,7 @@ synchronized (BufferPool.class) { if ( instance == null ) { BufferPoolAPI pool = null; - Class clazz = null; + Class clazz = null; try { clazz = Class.forName("org.apache.catalina.tribes.io.BufferPool15Impl"); pool = (BufferPoolAPI)clazz.newInstance(); Modified: tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool15Impl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool15Impl.java?rev=729341&r1=729340&r2=729341&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool15Impl.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool15Impl.java Wed Dec 24 09:49:57 2008 @@ -27,7 +27,7 @@ class BufferPool15Impl implements BufferPool.BufferPoolAPI { protected int maxSize; protected AtomicInteger size = new AtomicInteger(0); -protected ConcurrentLinkedQueue queue = new ConcurrentLinkedQueue(); +protected ConcurrentLinkedQueue queue = new ConcurrentLinkedQueue(); public void setMaxSize(int bytes) { this.maxSize = bytes; @@ -35,7 +35,7 @@ public XByteBuffer getBuffer(int minSize, boolean discard) { -XByteBuffer buffer = (XByteBuffer)queue.poll(); +XByteBuffer buffer = queue.poll(); if ( buffer != null ) size.addAndGet(-buffer.getCapacity()); if ( buffer == null ) buffer = new XByteBuffer(minSize,discard); else if ( buffer.getCapacity() <= minSize ) buffer.expand(minSize); Modified: tomcat/trunk/java/org/apache/catalina/tribes/io/ReplicationStream.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/io/ReplicationStream.java?rev=729341&r1=729340&r2=729341&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/io/ReplicationStream.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/io/ReplicationStream.java Wed Dec 24 09:49:57 2008 @@ -69,7 +69,7 @@ * @exception ClassNotFoundException if this class cannot be found * @exception IOException if an input/output error occurs */ -public Class resolveClass(ObjectStreamClass classDesc) +public Class resolveClass(ObjectStreamClass classDesc) throws ClassNotFoundException, IOException { String name = classDesc.getName(); try { @@ -79,7 +79,7 @@ } } -public Class resolveClass(String name) +public Class resolveClass(String name) throws ClassNotFoundException, IOException { boolean tryRepFirst = name.startsWith("org.apache.catalina.tribes"); @@ -109,9 +109,9 @@ boolean hasNonPublicInterface = false; // define proxy in class loader of non-public interface(s), if any -Class[] classObjs = new Class[interfaces.length]; +Class[] classObjs = new Class[interfaces.length]; for (int i = 0; i < interfaces.length; i++) { -Class cl = this.resolveClass(interfaces[i]); +Class cl = this.resolveClass(interfaces[i]); if (latestLoader==null) latestLoader = cl.getClassLoader(); if ((cl.getModifiers() & Modifier.PUBLIC) == 0) { if (hasNonPublicInterface) { @@ -135,17 +135,17 @@ } -public Class findReplicationClass(String name) +public Class findReplicationClass(String name) throws ClassNotFoundException, IOException { -Class clazz = Class.forName(name, false, getClass().getClassLoader()); +Class clazz = Class.forName(name, false, getClass().getClassLoader()); return clazz; } -public Class findExternalClass(String name) throws ClassNotFoundException { +public Class findExternalClass(String name) throws ClassNotFoundExc
svn commit: r729351 - in /tomcat/trunk/java/org/apache/catalina/tribes: ./ group/ group/interceptors/ membership/
Author: markt Date: Wed Dec 24 10:22:36 2008 New Revision: 729351 URL: http://svn.apache.org/viewvc?rev=729351&view=rev Log: Remaining generics for o.a.c.tribes Change the Comparator in Membership to align with AbsoluteOrder Fix various Eclipse warnings (unused code etc) Modified: tomcat/trunk/java/org/apache/catalina/tribes/ChannelException.java tomcat/trunk/java/org/apache/catalina/tribes/ManagedChannel.java tomcat/trunk/java/org/apache/catalina/tribes/group/AbsoluteOrder.java tomcat/trunk/java/org/apache/catalina/tribes/group/GroupChannel.java tomcat/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/FragmentationInterceptor.java tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/StaticMembershipInterceptor.java tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java tomcat/trunk/java/org/apache/catalina/tribes/membership/Membership.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/ChannelException.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/ChannelException.java?rev=729351&r1=729350&r2=729351&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/ChannelException.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/ChannelException.java Wed Dec 24 10:22:36 2008 @@ -38,7 +38,7 @@ /* * Holds a list of faulty members */ -private ArrayList faultyMembers=null; +private ArrayList faultyMembers=null; /** * Constructor, creates a ChannelException @@ -87,7 +87,7 @@ } else { buf.append("; Faulty members:"); for ( int i=0; i(); if ( !faultyMembers.contains(mbr) ) return faultyMembers.add(mbr); else return false; } @@ -132,7 +132,7 @@ */ public FaultyMember[] getFaultyMembers() { if ( this.faultyMembers==null ) return EMPTY_LIST; -return (FaultyMember[])faultyMembers.toArray(new FaultyMember[faultyMembers.size()]); +return faultyMembers.toArray(new FaultyMember[faultyMembers.size()]); } /** Modified: tomcat/trunk/java/org/apache/catalina/tribes/ManagedChannel.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/ManagedChannel.java?rev=729351&r1=729350&r2=729351&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/ManagedChannel.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/ManagedChannel.java Wed Dec 24 10:22:36 2008 @@ -74,5 +74,5 @@ * @return Iterator * @see Channel#addInterceptor(ChannelInterceptor) */ -public Iterator getInterceptors(); +public Iterator getInterceptors(); } Modified: tomcat/trunk/java/org/apache/catalina/tribes/group/AbsoluteOrder.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/AbsoluteOrder.java?rev=729351&r1=729350&r2=729351&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/group/AbsoluteOrder.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/group/AbsoluteOrder.java Wed Dec 24 10:22:36 2008 @@ -57,13 +57,8 @@ } -public static class AbsoluteComparator implements Comparator { -public int compare(Object o1, Object o2) { -if ( !((o1 instanceof Member) && (o2 instanceof Member)) ) return 0; -return compareMembers((Member)o1,(Member)o2); -} - -public int compareMembers(Member m1, Member m2) { +public static class AbsoluteComparator implements Comparator { +public int compare(Member m1, Member m2) { int result = compareIps(m1,m2); if ( result == 0 ) result = comparePorts(m1,m2); if ( result == 0 ) result = compareIds(m1,m2); @@ -97,7 +92,7 @@ } protected int compareBytes(byte b1, byte b2) { -return compareInts((int)b1,(int)b2); +return compareInts(b1,b2); } protected int compareInts(int b1, int b2) { Modified: tomcat/trunk/java/org/apache/catalina/tribes/group/GroupChannel.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/
svn commit: r729364 - /tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
Author: fhanik Date: Wed Dec 24 11:41:22 2008 New Revision: 729364 URL: http://svn.apache.org/viewvc?rev=729364&view=rev Log: IF the application is shutting down, we don't need to print the WARN message Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java?rev=729364&r1=729363&r2=729364&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java Wed Dec 24 11:41:22 2008 @@ -429,12 +429,14 @@ } catch ( Exception x ) { if (x instanceof InterruptedException) interrupted(); else { -if (errorCounter==0) log.warn("Error receiving mcast package. Sleeping 500ms",x); -else log.debug("Error receiving mcast package. Sleeping 500ms",x); -try { Thread.sleep(500); } catch ( Exception ignore ){} -if ( (++errorCounter)>=recoveryCounter ) { -errorCounter=0; -new RecoveryThread(McastServiceImpl.this); +if (errorCounter==0 && doRunReceiver) log.warn("Error receiving mcast package. Sleeping 500ms",x); +else if (log.isDebugEnabled()) log.debug("Error receiving mcast package"+(doRunReceiver?". Sleeping 500ms":"."),x); +if (doRunReceiver) { +try { Thread.sleep(500); } catch ( Exception ignore ){} +if ( (++errorCounter)>=recoveryCounter ) { +errorCounter=0; +new RecoveryThread(McastServiceImpl.this); +} } } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r729382 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: billbarker Date: Wed Dec 24 17:22:04 2008 New Revision: 729382 URL: http://svn.apache.org/viewvc?rev=729382&view=rev Log: proposal and votes Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=729382&r1=729381&r2=729382&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Dec 24 17:22:04 2008 @@ -261,7 +261,7 @@ * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=46408 Correct potential invalid cast http://svn.apache.org/viewvc?rev=728032&view=rev - +1: markt, fhanik + +1: markt, fhanik, billbarker -1: * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=46304 @@ -274,15 +274,19 @@ * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=46403 Always add expires parameter to cookies to work around an IE6/7 bug http://svn.apache.org/viewvc?rev=728947&view=rev - +1: markt + +1: markt, billbarker +1: fhanik - browsers suck -1: * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=46397 Don't pool tag instances that implement JspIdConsumer http://svn.apache.org/viewvc?rev=729057&view=rev - +1: markt, fhanik + +1: markt, fhanik, billbarker -1: - +* Make certain that classes are first loaded by trusted code + when working in a sandbox. + http://svn.apache.org/viewvc?rev=729206&view=rev + +1: billbarker + -1: - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org