This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-pool.git


The following commit(s) were added to refs/heads/master by this push:
     new f75db54a We don't use author tags
f75db54a is described below

commit f75db54aed16cd06dd2afb265921ad705430e78d
Author: Gary Gregory <gardgreg...@gmail.com>
AuthorDate: Tue Aug 30 09:38:35 2022 -0400

    We don't use author tags
---
 .../TestGenericObjectPoolFactoryCreateFailure.java | 284 ++++++++++-----------
 1 file changed, 142 insertions(+), 142 deletions(-)

diff --git 
a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolFactoryCreateFailure.java
 
b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolFactoryCreateFailure.java
index 96eaf95f..1af9dd18 100644
--- 
a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolFactoryCreateFailure.java
+++ 
b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolFactoryCreateFailure.java
@@ -1,143 +1,143 @@
-/*
- * 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.commons.pool2.impl;
-
-import static org.junit.jupiter.api.Assertions.assertFalse;
-
-import java.time.Duration;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.apache.commons.pool2.BasePooledObjectFactory;
-import org.apache.commons.pool2.PooledObject;
-import org.apache.commons.pool2.Waiter;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.Timeout;
-
-/**
- * @author Pavel Kolesov as contributed in POOL-340
- */
-public class TestGenericObjectPoolFactoryCreateFailure {
-
-    private static class SingleObjectFactory extends 
BasePooledObjectFactory<Object, Exception> {
-        private final AtomicBoolean created = new AtomicBoolean();
-
-        @Override
-        public Object create() throws Exception {
-            if (!created.getAndSet(true)) {
-                return new Object();
-            }
-            throw new Exception("Already created");
-        }
-
-        @Override
-        public boolean validateObject(final PooledObject<Object> p) {
-            return true;
-        }
-
-        @Override
-        public PooledObject<Object> wrap(final Object obj) {
-            return new DefaultPooledObject<>(new Object());
-        }
-    }
-
-    private static class WinnerRunnable implements Runnable {
-        private final CountDownLatch barrier;
-        private final AtomicBoolean failed;
-        private final GenericObjectPool<Object, Exception> pool;
-        private WinnerRunnable(final GenericObjectPool<Object, Exception> 
pool, final CountDownLatch barrier, final AtomicBoolean failed) {
-            this.pool = pool;
-            this.failed = failed;
-            this.barrier = barrier;
-        }
-        @Override
-        public void run() {
-            try {
-                println("start borrowing in parallel thread");
-                final Object obj = pool.borrowObject();
-
-                // wait for another thread to start borrowObject
-                if (!barrier.await(5, TimeUnit.SECONDS)) {
-                    println("Timeout waiting");
-                    failed.set(true);
-                } else {
-                    // just to make sure, borrowObject has started waiting on 
queue
-                    Waiter.sleepQuietly(1000);
-                }
-
-                pool.returnObject(obj);
-                println("ended borrowing in parallel thread");
-            } catch (final Exception e) {
-                failed.set(true);
-                e.printStackTrace();
-            }
-        }
-    }
-
-    private static final Duration NEG_ONE_DURATION = Duration.ofMillis(-1);
-
-    private static void println(final String msg) {
-        // System.out.println(msg);
-    }
-
-    @Test
-    @Timeout(value = 10_000, unit = TimeUnit.MILLISECONDS)
-    public void testBorrowObjectStuck() {
-        final SingleObjectFactory factory = new SingleObjectFactory();
-        final GenericObjectPoolConfig<Object> config = new 
GenericObjectPoolConfig<>();
-        config.setMaxIdle(1);
-        config.setMaxTotal(1);
-        config.setBlockWhenExhausted(true);
-        config.setMinIdle(0);
-        config.setTestOnBorrow(true);
-        config.setTestOnReturn(true);
-        config.setTestWhileIdle(false);
-        config.setTimeBetweenEvictionRuns(NEG_ONE_DURATION);
-        config.setMinEvictableIdleTime(NEG_ONE_DURATION);
-        config.setSoftMinEvictableIdleTime(NEG_ONE_DURATION);
-
-        config.setMaxWait(NEG_ONE_DURATION);
-        try (GenericObjectPool<Object, Exception> pool = new 
GenericObjectPool<>(factory, config)) {
-
-            final AtomicBoolean failed = new AtomicBoolean();
-            final CountDownLatch barrier = new CountDownLatch(1);
-            final Thread thread1 = new Thread(new WinnerRunnable(pool, 
barrier, failed));
-            thread1.start();
-
-            // wait for object to be created
-            while (!factory.created.get()) {
-                Waiter.sleepQuietly(5);
-            }
-
-            // now borrow
-            barrier.countDown();
-            try {
-                println("try borrow in main thread");
-
-                final Object o = pool.borrowObject();
-                println("Success borrow in main thread " + o);
-            } catch (final Exception e) {
-                e.printStackTrace();
-            }
-
-            assertFalse(failed.get());
-        }
-
-    }
+/*
+ * 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.commons.pool2.impl;
+
+import static org.junit.jupiter.api.Assertions.assertFalse;
+
+import java.time.Duration;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import org.apache.commons.pool2.BasePooledObjectFactory;
+import org.apache.commons.pool2.PooledObject;
+import org.apache.commons.pool2.Waiter;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Timeout;
+
+/**
+ * Tests POOL-340.
+ */
+public class TestGenericObjectPoolFactoryCreateFailure {
+
+    private static class SingleObjectFactory extends 
BasePooledObjectFactory<Object, Exception> {
+        private final AtomicBoolean created = new AtomicBoolean();
+
+        @Override
+        public Object create() throws Exception {
+            if (!created.getAndSet(true)) {
+                return new Object();
+            }
+            throw new Exception("Already created");
+        }
+
+        @Override
+        public boolean validateObject(final PooledObject<Object> p) {
+            return true;
+        }
+
+        @Override
+        public PooledObject<Object> wrap(final Object obj) {
+            return new DefaultPooledObject<>(new Object());
+        }
+    }
+
+    private static class WinnerRunnable implements Runnable {
+        private final CountDownLatch barrier;
+        private final AtomicBoolean failed;
+        private final GenericObjectPool<Object, Exception> pool;
+        private WinnerRunnable(final GenericObjectPool<Object, Exception> 
pool, final CountDownLatch barrier, final AtomicBoolean failed) {
+            this.pool = pool;
+            this.failed = failed;
+            this.barrier = barrier;
+        }
+        @Override
+        public void run() {
+            try {
+                println("start borrowing in parallel thread");
+                final Object obj = pool.borrowObject();
+
+                // wait for another thread to start borrowObject
+                if (!barrier.await(5, TimeUnit.SECONDS)) {
+                    println("Timeout waiting");
+                    failed.set(true);
+                } else {
+                    // just to make sure, borrowObject has started waiting on 
queue
+                    Waiter.sleepQuietly(1000);
+                }
+
+                pool.returnObject(obj);
+                println("ended borrowing in parallel thread");
+            } catch (final Exception e) {
+                failed.set(true);
+                e.printStackTrace();
+            }
+        }
+    }
+
+    private static final Duration NEG_ONE_DURATION = Duration.ofMillis(-1);
+
+    private static void println(final String msg) {
+        // System.out.println(msg);
+    }
+
+    @Test
+    @Timeout(value = 10_000, unit = TimeUnit.MILLISECONDS)
+    public void testBorrowObjectStuck() {
+        final SingleObjectFactory factory = new SingleObjectFactory();
+        final GenericObjectPoolConfig<Object> config = new 
GenericObjectPoolConfig<>();
+        config.setMaxIdle(1);
+        config.setMaxTotal(1);
+        config.setBlockWhenExhausted(true);
+        config.setMinIdle(0);
+        config.setTestOnBorrow(true);
+        config.setTestOnReturn(true);
+        config.setTestWhileIdle(false);
+        config.setTimeBetweenEvictionRuns(NEG_ONE_DURATION);
+        config.setMinEvictableIdleTime(NEG_ONE_DURATION);
+        config.setSoftMinEvictableIdleTime(NEG_ONE_DURATION);
+
+        config.setMaxWait(NEG_ONE_DURATION);
+        try (GenericObjectPool<Object, Exception> pool = new 
GenericObjectPool<>(factory, config)) {
+
+            final AtomicBoolean failed = new AtomicBoolean();
+            final CountDownLatch barrier = new CountDownLatch(1);
+            final Thread thread1 = new Thread(new WinnerRunnable(pool, 
barrier, failed));
+            thread1.start();
+
+            // wait for object to be created
+            while (!factory.created.get()) {
+                Waiter.sleepQuietly(5);
+            }
+
+            // now borrow
+            barrier.countDown();
+            try {
+                println("try borrow in main thread");
+
+                final Object o = pool.borrowObject();
+                println("Success borrow in main thread " + o);
+            } catch (final Exception e) {
+                e.printStackTrace();
+            }
+
+            assertFalse(failed.get());
+        }
+
+    }
 }
\ No newline at end of file

Reply via email to