You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by sm...@apache.org on 2023/07/08 13:29:36 UTC
[directory-fortress-core] branch master updated: FC-323 some code cleanup
This is an automated email from the ASF dual-hosted git repository.
smckinney pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-fortress-core.git
The following commit(s) were added to refs/heads/master by this push:
new 8791a4ec FC-323 some code cleanup
8791a4ec is described below
commit 8791a4ec0a57dda074738bce9c11a54ae3f785cf
Author: Shawn McKinney <sm...@symas.com>
AuthorDate: Sat Jul 8 08:29:28 2023 -0500
FC-323 some code cleanup
---
README-LOAD-TESTING.md | 23 +++++++++++++++++++++
.../directory/fortress/core/jmeter/AddUser.java | 16 +++++++--------
.../directory/fortress/core/jmeter/BindUser.java | 5 ++---
.../fortress/core/jmeter/CheckAccess.java | 8 +++-----
.../directory/fortress/core/jmeter/CheckRole.java | 9 ++++----
.../directory/fortress/core/jmeter/CheckUser.java | 7 +++----
.../fortress/core/jmeter/CreateSession.java | 5 ++---
.../directory/fortress/core/jmeter/DelUser.java | 10 ++++-----
.../directory/fortress/core/jmeter/UserBase.java | 24 +++++++++++++++++++---
9 files changed, 69 insertions(+), 38 deletions(-)
diff --git a/README-LOAD-TESTING.md b/README-LOAD-TESTING.md
index f26a9767..9a15a982 100644
--- a/README-LOAD-TESTING.md
+++ b/README-LOAD-TESTING.md
@@ -527,5 +527,28 @@ Edit the project's pom.mxl. Goto the loadtest profile. Increase the memory alloc
</build>
</profile>
```
+____________________________________________________________________________________
+
+##### iv. too many open files
+
+Observation:
+When running loadtests thought the REST interface, Exceptions in log file:
+
+###### target/[GUID]/jmeter/bin/fortress-jmeter.log
+
+```bash
+2023-07-05 01:59:015 WARN UserBase:219 - ThreadId: 23, error running test: org.apache.directory.fortress.core.RestException: post uri=[https://fortress-a:8443/fortress-rest-3.0.0-SNAPSHOT/], function=[rbacCheck], caught IOException=Too many open files
+2023-07-05 01:59:015 ERROR RestUtils:389 - post uri=[https://fortress-a:8443/fortress-rest-3.0.0-SNAPSHOT/], function=[rbacCheck], caught IOException=Too many open files
+java.net.SocketException: Too many open files
+```
+
+Remedy:
+Increase the maximum open files for ALL users. Requires a reboot to become active.
+
+###### /etc/security/limits.conf
+
+```
+'* - nofile 8192'
+```
____________________________________________________________________________________
## END OF README
diff --git a/src/test/java/org/apache/directory/fortress/core/jmeter/AddUser.java b/src/test/java/org/apache/directory/fortress/core/jmeter/AddUser.java
index 04120cd5..db414b27 100644
--- a/src/test/java/org/apache/directory/fortress/core/jmeter/AddUser.java
+++ b/src/test/java/org/apache/directory/fortress/core/jmeter/AddUser.java
@@ -42,8 +42,7 @@ public class AddUser extends UserBase
*/
public SampleResult runTest( JavaSamplerContext samplerContext )
{
- int count = getKey( Op.ADD );
- String userId = hostname + '-' + qualifier + '-' + count;
+ String userId = getUserId ( Op.ADD );
SampleResult sampleResult = new SampleResult();
try
{
@@ -52,17 +51,17 @@ public class AddUser extends UserBase
assertNotNull( "ou operand not setup", ou );
User user = new User();
user.setUserId( userId );
- user.setDescription( "add one: " + user.getUserId() );
+ user.setDescription( concat( "add one: ", user.getUserId() ) );
user.setPassword( password );
user.setOu( ou );
LOG.debug( "threadid: {}, userId: {}", getThreadId(), userId );
User outUser = adminMgr.addUser( user );
assertNotNull( outUser );
// This tests replication, ability to handle conflicts:
- if ( duplicate > 0 && count > duplicate && ( count % duplicate ) == 0 )
+ if ( duplicate > 0 && count.get() > duplicate && ( count.get() % duplicate ) == 0 )
{
- warn( "DUPLICATE ADD[" + count + "]: " + user.getUserId() );
- user.setDescription( "add two: " + user.getUserId() );
+ warn( concat( "DUPLICATE ADD: ", user.getUserId() ) );
+ user.setDescription( concat( "add two: ", user.getUserId() ) );
outUser = adminMgr.addUser( user );
}
if( update )
@@ -77,15 +76,14 @@ public class AddUser extends UserBase
assertNotNull( outUser );
if ( verify )
{
- assertTrue( "failed test uid: " + userId, verify( userId, Op.ADD ) );
+ assertTrue( concat( "failed test uid: ", userId ), verify( userId, Op.ADD ) );
}
sleep();
wrapup( sampleResult, userId );
}
catch ( org.apache.directory.fortress.core.SecurityException se )
{
- warn( "ThreadId: " + getThreadId() + ", error running test: " + se );
- se.printStackTrace();
+ warn( se.getMessage() );
sampleResult.setSuccessful( false );
}
diff --git a/src/test/java/org/apache/directory/fortress/core/jmeter/BindUser.java b/src/test/java/org/apache/directory/fortress/core/jmeter/BindUser.java
index 6203b8c6..5300e701 100644
--- a/src/test/java/org/apache/directory/fortress/core/jmeter/BindUser.java
+++ b/src/test/java/org/apache/directory/fortress/core/jmeter/BindUser.java
@@ -40,7 +40,7 @@ public class BindUser extends UserBase
*/
public SampleResult runTest( JavaSamplerContext samplerContext )
{
- String userId = hostname + '-' + qualifier + '-' + getKey( Op.CHECK );
+ String userId = getUserId ( Op.CHECK );
SampleResult sampleResult = new SampleResult();
try
{
@@ -54,8 +54,7 @@ public class BindUser extends UserBase
}
catch ( org.apache.directory.fortress.core.SecurityException se )
{
- warn( "ThreadId: " + getThreadId() + ", error running test: " + se );
- se.printStackTrace();
+ warn( se.getMessage() );
sampleResult.setSuccessful( false );
}
diff --git a/src/test/java/org/apache/directory/fortress/core/jmeter/CheckAccess.java b/src/test/java/org/apache/directory/fortress/core/jmeter/CheckAccess.java
index 272f5dd7..9a502561 100644
--- a/src/test/java/org/apache/directory/fortress/core/jmeter/CheckAccess.java
+++ b/src/test/java/org/apache/directory/fortress/core/jmeter/CheckAccess.java
@@ -41,7 +41,7 @@ public class CheckAccess extends UserBase
*/
public SampleResult runTest( JavaSamplerContext samplerContext )
{
- String userId = hostname + '-' + qualifier + '-' + getKey( Op.CHECK );
+ String userId = getUserId ( Op.CHECK );
SampleResult sampleResult = new SampleResult();
try
{
@@ -52,16 +52,14 @@ public class CheckAccess extends UserBase
user.setPassword( password );
LOG.debug( "threadid: {}, userId: {}", getThreadId(), userId );
Permission p = getPermission();
- assertTrue(
- "failed test uid: " + userId + ", perm obj: " + p.getObjName() + ", op: " + p.getOpName(),
+ assertTrue( concat("failed test uid: ", userId, ", perm obj: ", p.getObjName(), ", op: ", p.getOpName()),
accessMgr.checkAccess( user, p, false ) );
sleep();
wrapup( sampleResult, userId );
}
catch ( org.apache.directory.fortress.core.SecurityException se )
{
- warn( "ThreadId: " + getThreadId() + ", error running test: " + se );
- se.printStackTrace();
+ warn( se.getMessage() );
sampleResult.setSuccessful( false );
}
diff --git a/src/test/java/org/apache/directory/fortress/core/jmeter/CheckRole.java b/src/test/java/org/apache/directory/fortress/core/jmeter/CheckRole.java
index d6b05244..07cd82e9 100644
--- a/src/test/java/org/apache/directory/fortress/core/jmeter/CheckRole.java
+++ b/src/test/java/org/apache/directory/fortress/core/jmeter/CheckRole.java
@@ -41,27 +41,26 @@ public class CheckRole extends UserBase
*/
public SampleResult runTest( JavaSamplerContext samplerContext )
{
- String userId = hostname + '-' + qualifier + '-' + getKey( Op.CHECK );
+ String userId = getUserId ( Op.CHECK );
SampleResult sampleResult = new SampleResult();
try
{
sampleResult.sampleStart();
assertNotNull( accessMgr );
- assertNotNull( "role operand not setup", role );
+ assertNotNull( concat("role operand not setup", role ) );
User user = new User();
user.setUserId( userId );
user.setPassword( password );
LOG.debug( "threadid: {}, userId: {}", getThreadId(), userId );
assertTrue(
- "failed uid:" + userId + ", role: " + role,
+ concat("failed uid:" + userId + ", role: " + role ),
accessMgr.isUserInRole( user, new Role( role ), false ) );
sleep();
wrapup( sampleResult, userId );
}
catch ( org.apache.directory.fortress.core.SecurityException se )
{
- warn( "ThreadId: " + getThreadId() + ", error running test: " + se );
- se.printStackTrace();
+ warn( se.getMessage() );
sampleResult.setSuccessful( false );
}
diff --git a/src/test/java/org/apache/directory/fortress/core/jmeter/CheckUser.java b/src/test/java/org/apache/directory/fortress/core/jmeter/CheckUser.java
index 41df89c3..57285ca2 100644
--- a/src/test/java/org/apache/directory/fortress/core/jmeter/CheckUser.java
+++ b/src/test/java/org/apache/directory/fortress/core/jmeter/CheckUser.java
@@ -43,7 +43,7 @@ public class CheckUser extends UserBase
*/
public SampleResult runTest( JavaSamplerContext samplerContext )
{
- String userId = hostname + '-' + qualifier + '-' + getKey( Op.CHECK );
+ String userId = getUserId ( Op.CHECK );
SampleResult sampleResult = new SampleResult();
try
{
@@ -62,7 +62,7 @@ public class CheckUser extends UserBase
{
Permission p = getPermission( i );
assertTrue(
- "failed test uid: " + userId + ", perm obj: "+ p.getObjName() + ", op: " + p.getOpName(),
+ concat( "failed test uid: ", userId, ", perm obj: ", p.getObjName(), ", op: ", p.getOpName() ),
accessMgr.checkAccess( session, p ) );
}
}
@@ -71,8 +71,7 @@ public class CheckUser extends UserBase
}
catch ( org.apache.directory.fortress.core.SecurityException se )
{
- warn( "ThreadId: " + getThreadId() + ", error running test: " + se );
- se.printStackTrace();
+ warn( se.getMessage() );
sampleResult.setSuccessful( false );
}
diff --git a/src/test/java/org/apache/directory/fortress/core/jmeter/CreateSession.java b/src/test/java/org/apache/directory/fortress/core/jmeter/CreateSession.java
index d8a311de..cda33beb 100644
--- a/src/test/java/org/apache/directory/fortress/core/jmeter/CreateSession.java
+++ b/src/test/java/org/apache/directory/fortress/core/jmeter/CreateSession.java
@@ -41,7 +41,7 @@ public class CreateSession extends UserBase
*/
public SampleResult runTest( JavaSamplerContext samplerContext )
{
- String userId = hostname + '-' + qualifier + '-' + getKey( Op.CHECK );
+ String userId = getUserId ( Op.CHECK );
SampleResult sampleResult = new SampleResult();
try
{
@@ -59,8 +59,7 @@ public class CreateSession extends UserBase
}
catch ( org.apache.directory.fortress.core.SecurityException se )
{
- warn( "ThreadId: " + getThreadId() + ", error running test: " + se );
- se.printStackTrace();
+ warn( se.getMessage() );
sampleResult.setSuccessful( false );
}
diff --git a/src/test/java/org/apache/directory/fortress/core/jmeter/DelUser.java b/src/test/java/org/apache/directory/fortress/core/jmeter/DelUser.java
index 14205ee1..a7459259 100644
--- a/src/test/java/org/apache/directory/fortress/core/jmeter/DelUser.java
+++ b/src/test/java/org/apache/directory/fortress/core/jmeter/DelUser.java
@@ -40,8 +40,7 @@ public class DelUser extends UserBase
*/
public SampleResult runTest( JavaSamplerContext samplerContext )
{
- int count = getKey( Op.ADD );
- String userId = hostname + '-' + qualifier + '-' + count;
+ String userId = getUserId ( Op.DEL );
SampleResult sampleResult = new SampleResult();
try
{
@@ -52,9 +51,9 @@ public class DelUser extends UserBase
LOG.debug( "threadid: {}, userId: {}", getThreadId(), userId );
adminMgr.deleteUser( user );
// This tests replication, ability to handle conflicts:
- if ( duplicate > 0 && count > duplicate && ( count % duplicate ) == 0 )
+ if ( duplicate > 0 && count.get() > duplicate && ( count.get() % duplicate ) == 0 )
{
- warn( "DUPLICATE DEL[" + count + "]: " + user.getUserId() );
+ warn( concat( "DUPLICATE DEL ", user.getUserId() ) );
adminMgr.deleteUser( user );
}
if ( verify )
@@ -66,8 +65,7 @@ public class DelUser extends UserBase
}
catch ( org.apache.directory.fortress.core.SecurityException se )
{
- warn( "ThreadId: " + getThreadId() + ", error running test: " + se );
- se.printStackTrace();
+ warn( se.getMessage() );
sampleResult.setSuccessful( false );
}
return sampleResult;
diff --git a/src/test/java/org/apache/directory/fortress/core/jmeter/UserBase.java b/src/test/java/org/apache/directory/fortress/core/jmeter/UserBase.java
index 28f23188..77e5d295 100644
--- a/src/test/java/org/apache/directory/fortress/core/jmeter/UserBase.java
+++ b/src/test/java/org/apache/directory/fortress/core/jmeter/UserBase.java
@@ -51,7 +51,7 @@ public abstract class UserBase extends AbstractJavaSamplerClient
protected static final Logger LOG = LoggerFactory.getLogger( UserBase.class );
// global counter
- private static AtomicInteger count = new AtomicInteger(0);
+ protected static AtomicInteger count = new AtomicInteger(0);
// ldap host
protected String hostname;
// used to differentiate data sets
@@ -222,6 +222,19 @@ public abstract class UserBase extends AbstractJavaSamplerClient
}
}
+ protected String concat( String ... val)
+ {
+ StringBuilder sb = new StringBuilder();
+ if ( val != null )
+ {
+ for ( int i =0; i < val.length; i++ )
+ {
+ sb.append( val[i] );
+ }
+ }
+ return sb.toString();
+ }
+
protected void info(String message )
{
LOG.info( message );
@@ -262,7 +275,7 @@ public abstract class UserBase extends AbstractJavaSamplerClient
*
* @return
*/
- protected int getKey( Op op )
+ protected Integer getKey( Op op )
{
if( op == Op.CHECK )
{
@@ -271,6 +284,11 @@ public abstract class UserBase extends AbstractJavaSamplerClient
return count.incrementAndGet();
}
+ protected String getUserId ( Op op )
+ {
+ return concat(hostname, "-", qualifier, "-", getKey( op ).toString() );
+ }
+
String getThreadId()
{
return "" + Thread.currentThread().getId();
@@ -312,7 +330,7 @@ public abstract class UserBase extends AbstractJavaSamplerClient
}
else
{
- fail( "perm operand must be objectName.operationName: " + perm );
+ fail( concat( "perm operand must be objectName.operationName: " + perm ) );
}
return p;
}