Frequently Asked Questions

This page lists some miscellaneous and frequently asked questions about anthillpro behavior.

Cleanup Settings

Q: What are the differences between Archive, Inactivate, and Delete?

A: The cleanup settings can be confusing at times, and the following table will hopefully alleviate that confusion as to what each type of cleanup setting does:

Type Description Build Life State Artifacts State Job Logs State Ideal Use
ARCHIVE Archives build life for future use. Exists in Database Removed from Filesystem Exists on Filesystem Keep a buildlife in case the artifacts are needed again; free up disk space because they are not needed immediately. An Unarchive can rebuild the artifacts if needed.
INACTIVATE Render a build life inoperable. Exists in Database Removed from Filesystem Exists on Filesystem Need auditing history that this buildlife existed at one time, but will not need the artifacts ever again. (This is a common setting)
DELETE Annihilate a build life. Removed from Database Removed from Filesystem Removed from Filesystem Do not need a record of this buildlife; looking to free up filesystem space; removing clutter

Changing Cleanup Settings

Q: OK, thanks. That table was a wealth of information HOWEVER I would like to revise my cleanup settings and/or possibly immediately delete some builds to get some space back. Now what should I do?

A: You should visit the LCM's cleanup page & the server cleanup page for changing your cleanup settings, and if you are looking to delete some build lives manually, visit the 'Search' tab to choose lives to delete.

Default settings for the server cleanup page
An image showing the default settings for the server cleanup page, which has settings such as operational workflow & job time, lockable resources, cleanup schedule, etc.
Default settings for the LCM cleanup page
An image showing the default settings for the LCM cleanup page, which has settings for miscellaneous jobs, build requests w/o build lives, and each status as well. Note that these are the defaults, and should not be kept in any real production scenario.
Build Life search page with some build lives selected
This image shows the Search --> Build Life page and some build lives selected to be deleted, which will immediately clear up some disk space.

Empty Folders

Q: Cleanup isn't working! Empty folders are being left on the hard drive!

A: That is actually an incorrect assumption. AnthillPro will actually re-use those directories as they are needed again. With the restructuring of the directories as mentioned in 3.8 Branch Directory Restructure (so it may not be as noticeable now), the folders are kept because as builds approach a certain number, the ordinals are thrown in the subdirectory. It can be thought of a little endian storage algorithm. An example is listed below:

Parent Folder Child Folder Child's Subfolder Explanation
496 Job (#496) exists. Folder is created
496 2 Subfolder under job #496, there is now a folder for job #2496
9999 9999 8 Subfolder under job #99,999,999, there is now a folder for job #899,999,999

Qualification for Cleanup Event

Q: What constitutes the logic for a build life being cleaned up?

A: AnthillPro will check both the "Keep Days" and "Keep Amount" criteria, and keep the build life with the date that is valid longest of the two (based by build life date). Both criterion must be met. (e.g. Keep 10 Days, Keep 10 Builds will cause the build NOT to be cleaned up if 10 days haven't elapsed AND 10 builds do not exist. It can be thought of as an AND gate.)

AND GATE (Cleanup Example)
Days Elapsed Total Builds
0 Days 2 Builds
7 Days 13 Builds
12 Days 8 Builds
24 Days 52 Builds

Multiple Statuses

Q: What about builds with multiple statuses?

A: In the case that a build has multiple statuses, whichever is the longest criterion out of the statuses that are assigned will take precedence. (i.e. if two statuses exist, one has 60 days one has 90 days, the build will not be cleaned up for 90 days, etc.)

With Different Actions

Q: OK, makes sense. But what if I have two statuses assigned with the same settings, except different actions?

A: Anthill seems to "play it safe" when considering build lives for deletion. So if you have both Delete & Inactivate set across the statuses, Anthill will inactivate the build life. If you have Delete & Archive, Anthill will archive. Inactivate & Archive would make it archive. Delete & Delete...hey, nice try smarty pants; it's going to delete.

Dependency Considerations

Q: What about builds that could potentially be active dependencies?

A: Dependencies do have an influence on cleanup behavior. If a build life was to meet the criteria to be cleaned up, but it is still depended on by an active build life, the build life will not be cleaned up because it will be flagged in use. The active build life would have to meet its cleanup criteria (e.g.be inactivated/deleted), and then the original build life that meets the criteria will be freed up to be cleaned as well.

Searching Execution Information About Cleanup Settings

Q: Where can I locate more information to see if cleanup is actually running, and view the output of the cleanup jobs?

A: The Search --> Misc. Jobs page. Keep in mind that this page is not only cleanup, so there may be references to things like notification schemes as well.

Shows any miscellaneous jobs that appear in the system for notification schemes, cleanup, etc.

Connection Refused

Q: What does "connection refused" mean?

A: If you are getting a message that says something to the extent of "java.net.ConnectException: Connection Refused", it is ALWAYS caused by the remote system refusing the connection. The most common cause for this is there is nothing listening on the port being contacted. It would also be possible for a firewall (either hardware or software running on the target system) to be the problem, but this is much less common. Usually a firewall will just drop the connection or send a reset. When the target system is rejecting the connection, it is ALWAYS done by some type of OS component.

LDAP Error Messages

Q: What does this LDAP error message mean?

A: LDAP error messages (usually encountered doing an Authentication Realm test) contain a lot of stacktrace, but really the most relevant part of the error is within the vece error code. A table is listed below of the most common ones:

# Description
525 User Not Found
52e Invalid Credentials
530 Not Permitted to Logon at This Time
532 Password Expired
533 Account Disabled
701 Account Expired
773 User Must Reset Password

LDAP Example Setup

Q: I am a real n00b at trying to set up LDAP. Do you have any example that I can just inject my information where I need to?

A: Yes, a picture is attached, but an HTML table is below with each pair as well

Authentication

Field Value
Sample ActiveDirectory Authentication Realm
Sample ActiveDirectory Authentication Realm
Authorization Realm [LDAP AuthRealm]
Context Factory com.sun.jndi.ldap.LdapCtxFactory
LDAP URL ldap://ad-env-test.dev.urbancode.com:389
User Base ou=Support,dc=ad-env-test,dc=dev,dc=urbancode,dc=com
User Search (sAMAccountName={0})
Search Subtree TRUE
Connection Name cn=Administrator,cn=Users,dc=ad-env-test,dc=dev,dc=urbancode,dc=com
Connection Password s.....!
CaseSensitive FALSE
First Name givenName
Email mail

Authorization

Field Value
Sample ActiveDirectory Authentication Realm
Sample ActiveDirectory Authorization Realm
Role Name cn
Role Base dc=ad-env-test,dc=dev,dc=urbancode,dc=com
Role Search member={0}
Search Role Subtree TRUE
Recursively Search TRUE

Manual URL Access

There are some cases in anthillpro where you may need to manually access a URL to gain control of an object. Some examples of this could include trying to gain access to an inactive workflow, trying to view an inactive buildlife, trying to control an inactive project that cannot be located, etc. In order to do this, instead of trying to hunt & navigate through the UI it is entirely possible to directly access the object by customizing your anthillpro URL. Listed below are some of the more common URL accesses.

Object URL
Build Life /tasks/project/BuildLifeTasks/viewBuildLife?buildLifeId=XXX
Build Request /tasks/project/BuildRequestTasks/viewBuildRequest?buildRequestId=XXX
Job Trace /tasks/jobs/JobTasks/viewBuildSummary?job_trace_id=XXX
Job Trace (Miscellaneous) /tasks/jobs/JobTasks/viewPlainJobTrace?job_trace_id=XXX
Job Trace (Operational) /tasks/jobs/JobTasks/viewOperationsSummary?job_trace_id=XXX
Project /tasks/admin/project/ProjectTasks/viewProject?projectId=XXX
Project Dashboard /tasks/project/WorkflowTasks/viewDashboard?workflowId=XXX
Workflow /tasks/admin/project/workflow/WorkflowTasks/viewWorkflow?workflowId=XXX
Workflow Dashboard /tasks/project/WorkflowTasks/viewDashboard?workflowId=XXX
WorkflowCase (Operational) /tasks/project/WorkflowCaseTasks/viewWorkflowCase?workflow_case_id=XXX

Substitute XXX for the ID#

Performance Issues

Q: I am experiencing severe performance issues with AnthillPro. Make it go faster!

A: While newer versions of anthill may slow-down as more and more features & improvements are being added, there are some modifications that can be made to try and allocate more power to anthill. The first step would be to review the Performance Tuning Servers section for any additional settings you can allocate to anthill. If after doing this there is still no improvement, you might want to see if the Performance Improvements page has any suggestions for you.

Session Timeout

Q: How can I control the session timeout?

A: The anthill3-install/opt/tomcat/conf/web.xml file contains a session-timeout element that defaults to 30 minutes. Changing this value requires a server restart to take effect.

SQL Server JDBC Driver

Q: The documentation states that the 1.2 driver is required for SQLServer database connections because the 2.0 driver is faulty. Unfortunately both are end-of-life now. How do I SQLServer?

A: AnthillPro was originally designed to work with the 1.2 driver of SQLServer. While every effort should be made to maintain compatibility with this, it is possible to use the 3.x or 4.x driver with NEWER VERSIONS of anthillpro (3.8+).

Supportal Ticket

Q: Is there a table of priority explanations for Supportal tickets?

A: YES! It is listed here.

Issues Without Tickets

Q: Do I need to file a Supportal ticket?

A: YES! A Supportal ticket must be filed so we have something to track in our central support database. Updates to items other than the Supportal ticket will not keep all parties in the loop in a central location.

Q: Can I just call w/o a Supportal ticket?

A: Sure, but we'll most likely require you to file a ticket so we have something to reference if it needs to go to any escalation point.

  • Q: Why does one need to be filed before any 'escalation point'?
  • A: Think...telephone game. The message clarity will diminish amongst every repetition of the issue without a hardcopy to back it up.
    • Q: Waaaaaaaaaaaaagh issue!
    • A: Supportal ticket!