3832 remove MaxJobsPerCase feature

This commit is contained in:
William Schaefer 2018-05-24 18:54:18 -04:00
parent 0b07900916
commit ce28105bd3
5 changed files with 123 additions and 217 deletions

View File

@ -454,7 +454,7 @@ final class AutoIngestManager extends Observable implements PropertyChangeListen
private void handleRemoteNodeControlEvent(AutoIngestNodeControlEvent event) {
if (event.getTargetNodeName().compareToIgnoreCase(LOCAL_HOST_NAME) == 0) {
sysLogger.log(Level.INFO, "Received {0} event from user {1} on machine {2}", new Object[] {event.getControlEventType().toString(), event.getUserName(), event.getOriginatingNodeName()});
sysLogger.log(Level.INFO, "Received {0} event from user {1} on machine {2}", new Object[]{event.getControlEventType().toString(), event.getUserName(), event.getOriginatingNodeName()});
switch (event.getControlEventType()) {
case PAUSE:
pause();
@ -2028,21 +2028,14 @@ final class AutoIngestManager extends Observable implements PropertyChangeListen
* while reading the lock data
*/
private Lock dequeueAndLockNextJob() throws CoordinationServiceException, InterruptedException {
sysLogger.log(Level.INFO, "Checking pending jobs queue for ready job, enforcing max jobs per case");
sysLogger.log(Level.INFO, "Checking pending jobs queue for ready job");
Lock manifestLock;
synchronized (jobsLock) {
manifestLock = dequeueAndLockNextJob(true);
manifestLock = dequeueAndLockNextJobHelper();
if (null != manifestLock) {
sysLogger.log(Level.INFO, "Dequeued job for {0}", currentJob.getManifest().getFilePath());
} else {
sysLogger.log(Level.INFO, "No ready job");
sysLogger.log(Level.INFO, "Checking pending jobs queue for ready job, not enforcing max jobs per case");
manifestLock = dequeueAndLockNextJob(false);
if (null != manifestLock) {
sysLogger.log(Level.INFO, "Dequeued job for {0}", currentJob.getManifest().getFilePath());
} else {
sysLogger.log(Level.INFO, "No ready job");
}
}
}
return manifestLock;
@ -2054,8 +2047,6 @@ final class AutoIngestManager extends Observable implements PropertyChangeListen
* queue, made the current job, and a coordination service lock on the
* manifest for the job is returned.
*
* @param enforceMaxJobsPerCase Whether or not to enforce the maximum
* concurrent jobs per case setting.
*
* @return A manifest file lock if a ready job was found, null
* otherwise.
@ -2066,7 +2057,7 @@ final class AutoIngestManager extends Observable implements PropertyChangeListen
* @throws InterruptedException if the thread is interrupted
* while reading the lock data
*/
private Lock dequeueAndLockNextJob(boolean enforceMaxJobsPerCase) throws CoordinationServiceException, InterruptedException {
private Lock dequeueAndLockNextJobHelper() throws CoordinationServiceException, InterruptedException {
Lock manifestLock = null;
synchronized (jobsLock) {
Iterator<AutoIngestJob> iterator = pendingJobs.iterator();
@ -2096,19 +2087,6 @@ final class AutoIngestManager extends Observable implements PropertyChangeListen
continue;
}
if (enforceMaxJobsPerCase) {
int currentJobsForCase = 0;
for (AutoIngestJob runningJob : hostNamesToRunningJobs.values()) {
if (0 == job.getManifest().getCaseName().compareTo(runningJob.getManifest().getCaseName())) {
++currentJobsForCase;
}
}
if (currentJobsForCase >= AutoIngestUserPreferences.getMaxConcurrentJobsForOneCase()) {
manifestLock.release();
manifestLock = null;
continue;
}
}
iterator.remove();
currentJob = job;
break;
@ -2412,7 +2390,7 @@ final class AutoIngestManager extends Observable implements PropertyChangeListen
throw new CaseManagementException(String.format("Error creating solr settings file for case %s for %s", caseName, manifest.getFilePath()), ex);
} catch (CaseActionException ex) {
throw new CaseManagementException(String.format("Error creating or opening case %s for %s", caseName, manifest.getFilePath()), ex);
}
}
} else {
throw new CaseManagementException(String.format("Timed out acquiring case name lock for %s for %s", caseName, manifest.getFilePath()));
}

View File

@ -37,8 +37,8 @@
<EmptySpace min="-2" pref="20" max="-2" attributes="0"/>
<Component id="spMainScrollPane" min="-2" pref="106" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jPanelAutoIngestJobSettings" max="32767" attributes="0"/>
<EmptySpace min="-2" pref="26" max="-2" attributes="0"/>
<Component id="jPanelAutoIngestJobSettings" min="-2" max="-2" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
@ -82,103 +82,95 @@
<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Component id="cbTimeoutEnabled" min="-2" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="5" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0">
<Group type="103" groupAlignment="1" max="-2" attributes="0">
<Group type="102" alignment="1" attributes="0">
<Component id="lbInputScanInterval" min="-2" max="-2" attributes="0"/>
<EmptySpace min="49" pref="49" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="1" attributes="0">
<Component id="lbRetriesAllowed" min="-2" max="-2" attributes="0"/>
<EmptySpace min="54" pref="54" max="-2" attributes="0"/>
</Group>
<Component id="lbConcurrentJobsPerCase" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="lbNumberOfThreads" alignment="0" min="-2" max="-2" attributes="0"/>
</Group>
<Component id="lbNumberOfThreads" min="-2" max="-2" attributes="0"/>
<Component id="numberOfFileIngestThreadsComboBox" min="-2" pref="91" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="lbRestartRequired" min="-2" max="-2" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0">
<EmptySpace min="0" pref="41" max="32767" attributes="0"/>
<Group type="103" groupAlignment="1" max="-2" attributes="0">
<Group type="102" alignment="1" attributes="0">
<Component id="lbInputScanInterval" min="-2" max="-2" attributes="0"/>
<EmptySpace min="49" pref="49" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="1" attributes="0">
<Component id="lbRetriesAllowed" min="-2" max="-2" attributes="0"/>
<EmptySpace min="54" pref="54" max="-2" attributes="0"/>
</Group>
</Group>
<EmptySpace min="0" pref="21" max="32767" attributes="0"/>
<Group type="103" groupAlignment="1" attributes="0">
<Component id="spInputScanInterval" min="-2" pref="90" max="-2" attributes="0"/>
<Component id="spMaximumRetryAttempts" min="-2" pref="90" max="-2" attributes="0"/>
<Component id="spConcurrentJobsPerCase" alignment="1" min="-2" pref="90" max="-2" attributes="0"/>
</Group>
</Group>
<Group type="102" attributes="0">
<Component id="lbSecondsBetweenJobs" min="-2" max="-2" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
<Component id="numberOfFileIngestThreadsComboBox" min="-2" pref="91" max="-2" attributes="0"/>
<Component id="spSecondsBetweenJobs" min="-2" pref="90" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="1" attributes="0">
<Component id="lbTimeoutText" min="-2" max="-2" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
<Component id="spTimeoutHours" min="-2" pref="90" max="-2" attributes="0"/>
</Group>
</Group>
</Group>
<Group type="102" attributes="0">
<Component id="lbSecondsBetweenJobs" min="-2" max="-2" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
<Component id="spSecondsBetweenJobs" min="-2" pref="90" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="1" attributes="0">
<Component id="lbTimeoutText" min="-2" max="-2" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
<Component id="spTimeoutHours" min="-2" pref="90" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="lbSecondsBetweenJobsSeconds" min="-2" max="-2" attributes="0"/>
<Component id="lbTimeoutHours" min="-2" max="-2" attributes="0"/>
<Component id="lbInputScanIntervalMinutes" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace pref="255" max="32767" attributes="0"/>
</Group>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="lbRestartRequired" min="-2" max="-2" attributes="0"/>
<Component id="lbSecondsBetweenJobsSeconds" min="-2" max="-2" attributes="0"/>
<Component id="lbTimeoutHours" min="-2" max="-2" attributes="0"/>
<Component id="lbInputScanIntervalMinutes" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace pref="50" max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="lbSecondsBetweenJobs" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="spSecondsBetweenJobs" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="lbSecondsBetweenJobsSeconds" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Group type="103" groupAlignment="3" attributes="0">
<Component id="lbTimeoutText" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="spTimeoutHours" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="lbTimeoutHours" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<Component id="cbTimeoutEnabled" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="lbInputScanInterval" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="spInputScanInterval" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="lbInputScanIntervalMinutes" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="lbRetriesAllowed" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="spMaximumRetryAttempts" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="1" attributes="0">
<Component id="lbRestartRequired" min="-2" max="-2" attributes="0"/>
<Group type="102" attributes="0">
<Group type="103" groupAlignment="3" attributes="0">
<Component id="lbSecondsBetweenJobs" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="spSecondsBetweenJobs" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="lbSecondsBetweenJobsSeconds" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Group type="103" groupAlignment="3" attributes="0">
<Component id="lbTimeoutText" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="spTimeoutHours" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="lbTimeoutHours" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<Component id="cbTimeoutEnabled" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="lbInputScanInterval" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="spInputScanInterval" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="lbInputScanIntervalMinutes" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="lbRetriesAllowed" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="spMaximumRetryAttempts" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="lbConcurrentJobsPerCase" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="spConcurrentJobsPerCase" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="lbNumberOfThreads" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="numberOfFileIngestThreadsComboBox" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="103" alignment="1" groupAlignment="3" attributes="0">
<Component id="lbNumberOfThreads" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="numberOfFileIngestThreadsComboBox" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
</Group>
<EmptySpace max="32767" attributes="0"/>
@ -237,16 +229,6 @@
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="lbConcurrentJobsPerCase">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/experimental/configuration/Bundle.properties" key="AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/experimental/configuration/Bundle.properties" key="AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.toolTipText_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JCheckBox" name="cbTimeoutEnabled">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
@ -287,16 +269,6 @@
</Property>
</Properties>
</Component>
<Component class="javax.swing.JSpinner" name="spConcurrentJobsPerCase">
<Properties>
<Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
<SpinnerModel initial="3" maximum="100" minimum="1" numberType="java.lang.Integer" stepSize="1" type="number"/>
</Property>
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/experimental/configuration/Bundle.properties" key="AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JSpinner" name="spMaximumRetryAttempts">
<Properties>
<Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">

View File

@ -62,8 +62,6 @@ class AdvancedAutoIngestSettingsPanel extends javax.swing.JPanel {
initThreadCount();
spSecondsBetweenJobs.setValue(AutoIngestUserPreferences.getSecondsToSleepBetweenCases());
spMaximumRetryAttempts.setValue(AutoIngestUserPreferences.getMaxNumTimesToProcessImage());
int maxJobsPerCase = AutoIngestUserPreferences.getMaxConcurrentJobsForOneCase();
spConcurrentJobsPerCase.setValue(maxJobsPerCase);
spInputScanInterval.setValue(AutoIngestUserPreferences.getMinutesOfInputScanInterval());
spInputScanInterval.setEnabled(mode == AutoIngestSettingsPanel.OptionsUiMode.AIM);
spSecondsBetweenJobs.setEnabled(mode == AutoIngestSettingsPanel.OptionsUiMode.AIM);
@ -82,7 +80,6 @@ class AdvancedAutoIngestSettingsPanel extends javax.swing.JPanel {
void store() {
AutoIngestUserPreferences.setSecondsToSleepBetweenCases((int) spSecondsBetweenJobs.getValue());
AutoIngestUserPreferences.setMaxNumTimesToProcessImage((int) spMaximumRetryAttempts.getValue());
AutoIngestUserPreferences.setMaxConcurrentIngestNodesForOneCase((int) spConcurrentJobsPerCase.getValue());
AutoIngestUserPreferences.setMinutesOfInputScanInterval((int) spInputScanInterval.getValue());
UserPreferences.setNumberOfFileIngestThreads((Integer) numberOfFileIngestThreadsComboBox.getSelectedItem());
boolean isChecked = cbTimeoutEnabled.isSelected();
@ -122,11 +119,9 @@ class AdvancedAutoIngestSettingsPanel extends javax.swing.JPanel {
lbInputScanInterval = new javax.swing.JLabel();
lbRetriesAllowed = new javax.swing.JLabel();
lbNumberOfThreads = new javax.swing.JLabel();
lbConcurrentJobsPerCase = new javax.swing.JLabel();
cbTimeoutEnabled = new javax.swing.JCheckBox();
numberOfFileIngestThreadsComboBox = new javax.swing.JComboBox<>();
lbRestartRequired = new javax.swing.JLabel();
spConcurrentJobsPerCase = new javax.swing.JSpinner();
spMaximumRetryAttempts = new javax.swing.JSpinner();
spInputScanInterval = new javax.swing.JSpinner();
spTimeoutHours = new javax.swing.JSpinner();
@ -161,9 +156,6 @@ class AdvancedAutoIngestSettingsPanel extends javax.swing.JPanel {
org.openide.awt.Mnemonics.setLocalizedText(lbNumberOfThreads, org.openide.util.NbBundle.getMessage(AdvancedAutoIngestSettingsPanel.class, "AdvancedAutoIngestSettingsPanel.lbNumberOfThreads.text")); // NOI18N
lbNumberOfThreads.setToolTipText(org.openide.util.NbBundle.getMessage(AdvancedAutoIngestSettingsPanel.class, "AdvancedAutoIngestSettingsPanel.lbNumberOfThreads.toolTipText_1")); // NOI18N
org.openide.awt.Mnemonics.setLocalizedText(lbConcurrentJobsPerCase, org.openide.util.NbBundle.getMessage(AdvancedAutoIngestSettingsPanel.class, "AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.text")); // NOI18N
lbConcurrentJobsPerCase.setToolTipText(org.openide.util.NbBundle.getMessage(AdvancedAutoIngestSettingsPanel.class, "AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.toolTipText_1")); // NOI18N
org.openide.awt.Mnemonics.setLocalizedText(cbTimeoutEnabled, org.openide.util.NbBundle.getMessage(AdvancedAutoIngestSettingsPanel.class, "AdvancedAutoIngestSettingsPanel.cbTimeoutEnabled.text")); // NOI18N
cbTimeoutEnabled.setToolTipText(org.openide.util.NbBundle.getMessage(AdvancedAutoIngestSettingsPanel.class, "AdvancedAutoIngestSettingsPanel.cbTimeoutEnabled.toolTipText")); // NOI18N
cbTimeoutEnabled.addItemListener(new java.awt.event.ItemListener() {
@ -187,9 +179,6 @@ class AdvancedAutoIngestSettingsPanel extends javax.swing.JPanel {
lbRestartRequired.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/warning16.png"))); // NOI18N
org.openide.awt.Mnemonics.setLocalizedText(lbRestartRequired, org.openide.util.NbBundle.getMessage(AdvancedAutoIngestSettingsPanel.class, "AdvancedAutoIngestSettingsPanel.lbRestartRequired.text")); // NOI18N
spConcurrentJobsPerCase.setModel(new javax.swing.SpinnerNumberModel(3, 1, 100, 1));
spConcurrentJobsPerCase.setToolTipText(org.openide.util.NbBundle.getMessage(AdvancedAutoIngestSettingsPanel.class, "AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.toolTipText")); // NOI18N
spMaximumRetryAttempts.setModel(new javax.swing.SpinnerNumberModel(2, 0, 9999999, 1));
spMaximumRetryAttempts.setToolTipText(org.openide.util.NbBundle.getMessage(AdvancedAutoIngestSettingsPanel.class, "AdvancedAutoIngestSettingsPanel.lbRetriesAllowed.toolTipText_2")); // NOI18N
@ -220,76 +209,70 @@ class AdvancedAutoIngestSettingsPanel extends javax.swing.JPanel {
.addGap(5, 5, 5)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelAutoIngestJobSettingsLayout.createSequentialGroup()
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(jPanelAutoIngestJobSettingsLayout.createSequentialGroup()
.addComponent(lbInputScanInterval)
.addGap(49, 49, 49))
.addGroup(jPanelAutoIngestJobSettingsLayout.createSequentialGroup()
.addComponent(lbRetriesAllowed)
.addGap(54, 54, 54))
.addComponent(lbConcurrentJobsPerCase, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lbNumberOfThreads, javax.swing.GroupLayout.Alignment.LEADING))
.addComponent(lbNumberOfThreads)
.addComponent(numberOfFileIngestThreadsComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lbRestartRequired)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(jPanelAutoIngestJobSettingsLayout.createSequentialGroup()
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelAutoIngestJobSettingsLayout.createSequentialGroup()
.addGap(0, 41, Short.MAX_VALUE)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(jPanelAutoIngestJobSettingsLayout.createSequentialGroup()
.addComponent(lbInputScanInterval)
.addGap(49, 49, 49))
.addGroup(jPanelAutoIngestJobSettingsLayout.createSequentialGroup()
.addComponent(lbRetriesAllowed)
.addGap(54, 54, 54)))
.addGap(0, 21, Short.MAX_VALUE)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(spInputScanInterval, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spMaximumRetryAttempts, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spConcurrentJobsPerCase, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(spMaximumRetryAttempts, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanelAutoIngestJobSettingsLayout.createSequentialGroup()
.addComponent(lbSecondsBetweenJobs)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(numberOfFileIngestThreadsComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(jPanelAutoIngestJobSettingsLayout.createSequentialGroup()
.addComponent(lbSecondsBetweenJobs)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(spSecondsBetweenJobs, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelAutoIngestJobSettingsLayout.createSequentialGroup()
.addComponent(lbTimeoutText)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(spTimeoutHours, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lbRestartRequired)
.addComponent(lbSecondsBetweenJobsSeconds)
.addComponent(lbTimeoutHours)
.addComponent(lbInputScanIntervalMinutes))
.addContainerGap(50, Short.MAX_VALUE))
.addComponent(spSecondsBetweenJobs, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelAutoIngestJobSettingsLayout.createSequentialGroup()
.addComponent(lbTimeoutText)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(spTimeoutHours, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lbSecondsBetweenJobsSeconds)
.addComponent(lbTimeoutHours)
.addComponent(lbInputScanIntervalMinutes))
.addContainerGap(255, Short.MAX_VALUE))))
);
jPanelAutoIngestJobSettingsLayout.setVerticalGroup(
jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelAutoIngestJobSettingsLayout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lbSecondsBetweenJobs)
.addComponent(spSecondsBetweenJobs, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lbSecondsBetweenJobsSeconds))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lbTimeoutText)
.addComponent(spTimeoutHours, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lbTimeoutHours))
.addComponent(cbTimeoutEnabled))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lbInputScanInterval)
.addComponent(spInputScanInterval, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lbInputScanIntervalMinutes))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lbRetriesAllowed)
.addComponent(spMaximumRetryAttempts, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(lbRestartRequired)
.addGroup(jPanelAutoIngestJobSettingsLayout.createSequentialGroup()
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lbSecondsBetweenJobs)
.addComponent(spSecondsBetweenJobs, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lbSecondsBetweenJobsSeconds))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lbTimeoutText)
.addComponent(spTimeoutHours, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lbTimeoutHours))
.addComponent(cbTimeoutEnabled))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lbInputScanInterval)
.addComponent(spInputScanInterval, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lbInputScanIntervalMinutes))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lbRetriesAllowed)
.addComponent(spMaximumRetryAttempts, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lbConcurrentJobsPerCase)
.addComponent(spConcurrentJobsPerCase, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lbNumberOfThreads)
.addComponent(numberOfFileIngestThreadsComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(jPanelAutoIngestJobSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lbNumberOfThreads)
.addComponent(numberOfFileIngestThreadsComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
@ -315,8 +298,8 @@ class AdvancedAutoIngestSettingsPanel extends javax.swing.JPanel {
.addGap(20, 20, 20)
.addComponent(spMainScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanelAutoIngestJobSettings, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(26, 26, 26))
.addComponent(jPanelAutoIngestJobSettings, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
}// </editor-fold>//GEN-END:initComponents
@ -335,7 +318,6 @@ class AdvancedAutoIngestSettingsPanel extends javax.swing.JPanel {
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JCheckBox cbTimeoutEnabled;
private javax.swing.JPanel jPanelAutoIngestJobSettings;
private javax.swing.JLabel lbConcurrentJobsPerCase;
private javax.swing.JLabel lbInputScanInterval;
private javax.swing.JLabel lbInputScanIntervalMinutes;
private javax.swing.JLabel lbNumberOfThreads;
@ -346,7 +328,6 @@ class AdvancedAutoIngestSettingsPanel extends javax.swing.JPanel {
private javax.swing.JLabel lbTimeoutHours;
private javax.swing.JLabel lbTimeoutText;
private javax.swing.JComboBox<Integer> numberOfFileIngestThreadsComboBox;
private javax.swing.JSpinner spConcurrentJobsPerCase;
private javax.swing.JSpinner spInputScanInterval;
private javax.swing.JScrollPane spMainScrollPane;
private javax.swing.JSpinner spMaximumRetryAttempts;

View File

@ -267,30 +267,7 @@ public final class AutoIngestUserPreferences {
ModuleSettings.setConfigSetting(UserPreferences.SETTINGS_PROPERTIES, MAX_NUM_TIMES_TO_PROCESS_IMAGE, Integer.toString(retries));
}
/**
* Get maximum number of concurrent ingest nodes allowable for one case at a
* time.
*
* @return maximum number of concurrent nodes for one case. Default is 3.
*/
public static int getMaxConcurrentJobsForOneCase() {
if (ModuleSettings.settingExists(UserPreferences.SETTINGS_PROPERTIES, MAX_CONCURRENT_NODES_FOR_ONE_CASE)) {
return Integer.parseInt(ModuleSettings.getConfigSetting(UserPreferences.SETTINGS_PROPERTIES, MAX_CONCURRENT_NODES_FOR_ONE_CASE));
}
return 3;
}
/**
* Get maximum number of concurrent ingest nodes allowable for one case at a
* time.
*
* @param numberOfNodes the number of concurrent nodes to allow for one case
*/
public static void setMaxConcurrentIngestNodesForOneCase(int numberOfNodes) {
ModuleSettings.setConfigSetting(UserPreferences.SETTINGS_PROPERTIES, MAX_CONCURRENT_NODES_FOR_ONE_CASE, Integer.toString(numberOfNodes));
}
/**
/**
* Get status database logging checkbox state for automated ingest mode from
* persistent storage.
*

View File

@ -89,7 +89,6 @@ AdvancedAutoIngestSettingsPanel.spMaximumRetryAttempts.toolTipText=The maximum n
AdvancedAutoIngestSettingsPanel.lbRestartRequired.text=Application restart required to take effect.
AdvancedAutoIngestSettingsPanel.cbTimeoutEnabled.toolTipText=Components that spawn potentially long-running processes optionally terminate those processes if the specified time out period has elapsed.
AdvancedAutoIngestSettingsPanel.cbTimeoutEnabled.text=
AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.text=Target concurrent jobs per case:
AdvancedAutoIngestSettingsPanel.lbNumberOfThreads.text=Number of threads to use for file ingest:
AdvancedAutoIngestSettingsPanel.lbRetriesAllowed.text=Maximum job retries allowed:
AdvancedAutoIngestSettingsPanel.lbInputScanInterval.text=Interval between input scans:
@ -103,7 +102,6 @@ AdvancedAutoIngestSettingsPanel.lbInputScanIntervalMinutes.toolTipText=
AdvancedAutoIngestSettingsPanel.lbTimeoutHours.toolTipText=
AdvancedAutoIngestSettingsPanel.lbRetriesAllowed.toolTipText_1=The maximum number of retries for crashed jobs.
AdvancedAutoIngestSettingsPanel.lbRetriesAllowed.toolTipText_2=The maximum number of retries for crashed jobs.
AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.toolTipText_1=A soft limit on the number of concurrent jobs per case when multiple cases are processed simultaneously.
AdvancedAutoIngestSettingsPanel.lbNumberOfThreads.toolTipText_1=The number of threads running file level ingest modules.
AdvancedAutoIngestSettingsPanel.numberOfFileIngestThreadsComboBox.toolTipText=The number of threads running file level ingest modules.
NodeStatusLogPanel.tbDbName.toolTipText_1=Database name