This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Version 7.5

Key new features and changes present in v7.5 of Stroom and Stroom-Proxy.

1 - New Features

New features in Stroom version 7.5.

User Interface

Jobs Screen

images/releases/07.05/Jobs.png

The Jobs screen
  • Rows are now greyed out if one of the following is true:

    • The parent job is disabled.

    • The job is disabled on a specific node.

    • The node itself is disabled.

  • The column Next Scheduled has been added to the detail pane to show the time that the job will next run.

  • The details pane now has an Actions menu ( ) where it is possible to do the follow actions to a job on a specific node.

    • Edit the schedule for job on the selected node.

    • Run the job on the selected node now. This will run the job within 10s or so once clicked. Monitor the Last Executed column to see when it has run.

    • Show in Server Tasks (selected node). This will open the Server Tasks screen with the quick filter set to the selected job and node.

    • Show in Server Tasks (all nodes). This will open the Server Tasks screen with the quick filter set to the selected job.

    It is now possible to link directly to the Nodes screen by clicking the Open hover button next to the node name.

Nodes Screen

images/releases/07.05/Nodes.png

The Nodes screen
  • A jobs detail pane has been added to show the jobs on that node. This shows all jobs and allows jobs to be enabled/disabled on a node. It also shows the state of the parent job and the node. The button can be used to show only the enabled jobs on that node.

    An auto-refresh button has also been added to keep refreshing the jobs detail pane so the Last Executed and Next Scheduled columns are updated.

    It is also possible to link directly to the Jobs screen by clicking the Open hover button next to the job name.

  • Nodes rows are now greyed out if the node is disabled.

  • Job rows are not greyed out if one of the following is true:

    • The node is disabled.
    • The parent job is disabled.
    • The job is disabled on a specific node.
  • The column Build Version has been added to show the version of Stroom that the node is running. This is to highlight any nodes running the wrong version.

  • The column Up Date have been added to the Nodes screen to show the time that Stroom was last booted on that node.

  • The Ping column screen has been changed so an enabled node with no ping stands out while a disabled node does not.

New Look and Feel

The Login, Change Password and Manage Accounts screens have been changed to bring their look and feel in line with the rest of the application. The screens may look a little different but are functionally the same.

images/releases/07.05/Accounts.png

The Manage Accounts screen

Authentication Error Screen

If there is an authentication error during user login, e.g. the account is disabled or locked, the user will now be redirected to a configurable error screen rather than back to the login screen.

images/releases/07.05/AuthError.png

The content of the lower part of the dialog is configurable via the property stroom.ui.authErrorMessage. This property accepts HTML content. This the message to contain details of how to contact the appropriate Stroom admin team.

Other Changes

  • The explorer tree now shows the name of the item in the hover tooltip. This is useful if the name extends beyond the limit of the explorer tree pane.

  • Issue #4339 : Allow user selection of analytic duplicate columns.

  • Issue #3989 : Improve pause behaviour in dashboards and general presentation of busy state throughout UI.

Permissions

  • Document deletion will now also delete all associated document permissions granted to user/groups. This previously did not happen on document delete so orphaned document permissions would build up in the database.

    The DB migration V07_04_00_005__Orphaned_Doc_Perms which will delete all document permissions (in table doc_permission) for docs that are not a folder, not the System doc, are not a valid doc (i.e. in the doc table) and are not a pipeline filter. Deleted document permission records will first be copied to a backup table doc_permission_backup_V07_04_00_005.

  • Document Copy and Move has been changed to check that the user has Owner permission (or admin) on the document being copied/moved if the permissions mode is None, Destination or Combined. This is because those modes will change the permissions which is something only an Owner/admin can do.

The Find in Content screen added in v7.3 has been changed to add Lucene indexing to speed up content searches.

Indexing of the content can be enabled by setting the property stroom.contentIndex.enabled to true.

Volumes

images/releases/07.05/Volumes.png
  • The tables on the Data Volumes and Index Volumes screens have been changed to low-light CLOSED/INACTIVE volumes.

  • Tooltips have been added to the Path and Last Updated columns.

  • The Use% column has been changed to a percentage bar.

  • Red/green colouring has been added to the to the Full column values to make it clearer which volumes are full.

2 - Preview Features (experimental)

Preview features in Stroom version 7.5. Preview features are somewhat experimental in nature and are therefore subject to breaking changes in future releases.

State Store

  • Issue #2126 : Add experimental state store.

3 - Breaking Changes

Changes in Stroom version 7.5 that may break existing processing or ways of working.

There are no breaking changes in v7.5.

4 - Upgrade Notes

Required actions and information relating to upgrading to Stroom version 7.5.

Java Version

Stroom v7.5 requires Java 21. This is the same java version as Stroom v7.4. Ensure the Stroom and Stroom-Proxy hosts are running the latest patch release of Java v21.

Configuration File Changes

The following changes requiring action have been made to the stroom.yml configuration file.

Removed Properties

stroom.ui.theme.backgroundColour

This property has been removed. You will need to remove it (if present) from your configuration files else Stroom will not boot.

New Properties

stroom.contentIndex

This property has been added. It enables the indexing of stroom content for fast content searching.

state.*

This block of properties has been added to control the new state store functionality.

appConfig:
  state:
    scyllaDbDocCache:
      expireAfterAccess: null
      expireAfterWrite: "PT10M"
      maximumSize: 100
      refreshAfterWrite: null
    sessionCache:
      expireAfterAccess: "PT1H"
      expireAfterWrite: null
      maximumSize: 10
      refreshAfterWrite: null
    stateDocCache:
      expireAfterAccess: null
      expireAfterWrite: "PT10M"
      maximumSize: 100
      refreshAfterWrite: null

Changed Property Values

stroom.ui.helpSubPathJobs

The value of this property has changed from /user-guide/jobs/ to /reference-section/jobs/.

stroom.ui.helpUrl

The value of this property has changed from https://gchq.github.io/stroom-docs/7.4/docs to https://gchq.github.io/stroom-docs/7.5/docs.

Servlets

Stroom presents various servlets. The paths to these servlets have changed but the existing paths remain.

  • /stroom/noauth/datafeed => /datafeed
  • /stroom/noauth/debug => /debug
  • /stroom/noauth/echo => /echo
  • /stroom/noauth/status => /status
  • /stroom/noauth/swagger-ui => /swagger-ui
  • /stroom/sessionList => /sessionList

The /sessionList (and /stroom/sessionList) servlet has been changed to require manage users permission.

Database Migrations

When Stroom boots for the first time with a new version it will run any required database migrations to bring the database schema up to the correct version.

On boot, Stroom will ensure that the migrations are only run by a single node in the cluster. This will be the node that reaches that point in the boot process first. All other nodes will wait until that is complete before proceeding with the boot process.

It is recommended however to use a single node to execute the migration. To avoid Stroom starting up and beginning processing you can use the migrage command to just migrate the database and not fully boot Stroom. See migrage command for more details.

Migration Scripts

For information purposes only, the following are the database migrations that will be run when upgrading to 7.5.0 from the previous minor version.

Note, the legacy module will run first (if present) then the other modules will run in no particular order.

Module stroom-node

Script V07_05_00_005__add_build_ver_last_boot.sql

Path: stroom-node/stroom-node-impl-db/src/main/resources/stroom/node/impl/db/migration/V07_05_00_005__add_build_ver_last_boot.sql

-- ------------------------------------------------------------------------
-- Copyright 2020 Crown Copyright
--
-- Licensed 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.
-- ------------------------------------------------------------------------

-- Stop NOTE level warnings about objects (not)? existing
SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0;

-- --------------------------------------------------

DELIMITER $$

DROP PROCEDURE IF EXISTS node_run_sql_v1 $$

-- DO NOT change this without reading the header!
CREATE PROCEDURE node_run_sql_v1 (
    p_sql_stmt varchar(1000)
)
BEGIN

    SET @sqlstmt = p_sql_stmt;

    SELECT CONCAT('Running sql: ', @sqlstmt);

    PREPARE stmt FROM @sqlstmt;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
END $$

-- --------------------------------------------------

DROP PROCEDURE IF EXISTS node_add_column_v1$$

CREATE PROCEDURE node_add_column_v1 (
    p_table_name varchar(64),
    p_column_name varchar(64),
    p_column_type_info varchar(64) -- e.g. 'varchar(255) default NULL'
)
BEGIN
    DECLARE object_count integer;

    SELECT COUNT(1)
    INTO object_count
    FROM information_schema.columns
    WHERE table_schema = database()
    AND table_name = p_table_name
    AND column_name = p_column_name;

    IF object_count = 0 THEN
        CALL node_run_sql_v1(CONCAT(
            'alter table ', database(), '.', p_table_name,
            ' add column ', p_column_name, ' ', p_column_type_info));
    ELSE
        SELECT CONCAT(
            'Column ',
            p_column_name,
            ' already exists on table ',
            database(),
            '.',
            p_table_name);
    END IF;
END $$

-- --------------------------------------------------

DELIMITER ;

CALL node_add_column_v1(
    'node',
    'build_version',
    'varchar(255) DEFAULT NULL');

CALL node_add_column_v1(
    'node',
    'last_boot_ms',
    'bigint DEFAULT NULL');

DROP PROCEDURE IF EXISTS node_add_column_v1;

DROP PROCEDURE IF EXISTS node_run_sql_v1;

SET SQL_NOTES=@OLD_SQL_NOTES;

-- vim: set tabstop=4 shiftwidth=4 expandtab:

5 - Change Log

Link to the full CHANGELOG.

The follow changes are in 7.5 but not in 7.4:

  • Issue #4383 : Add an authentication error screen to be shown when a user tries to login and there is an authentication problem or the user’s account has been locked/disabled. Previously the user was re-directed to the sign-in screen even if cert auth was enabled. Added the new property stroom.ui.authErrorMessage to allow setting generic HTML content to show the user when an authentication error occurs.

  • Issue #4412 : Fix / key not working in quick filter text input fields.

  • Issue #4400 : Fix missing styling on sessionList servlet.

  • Fix broken description pane in the stroomQL code completion.

  • Change API endpoint /Authentication/v1/noauth/reset from GET to POST and from a path parameter to a POST body.

  • Fix various issues relating to unauthenticated servlets. Add new servlet paths e.g. /stroom/XXX becomes /XXX and /stroom/XXX. The latter will be removed in some future release. Notable new servlet paths are /dashboard, /status, /swagger-ui, /echo, /debug, /datafeed, /sessionList.

  • Change sessionList servlet to require manage users permission.

  • Issue #4360 : Fix quick time settings popup.

  • Improve styling of Jobs screen so disabled jobs/nodes are greyed out.

  • Add Next Scheduled column to the detail pane of the Job screen.

  • Add Build Version and Up Date columns to the Nodes screen. Also change the styling of the Ping column so an enabled node with no ping stands out while a disabled node does not. Also change the row styling for disabled nodes.

  • Add a Run now icon to the jobs screen to execute a job on a node immediately.

  • Change the FS Volume and Index Volume tables to low-light CLOSED/INACTIVE volumes. Add tooltips to the path and last updated columns. Change the Use% column to a percentage bar. Add red/green colouring to the Full column values.

  • Issue #4327 : Add a Jobs pane to the Nodes screen to view jobs by node. Add linking between job nodes on the Nodes screen and the Jobs screen.

  • Issue #4339 : Allow user selection of analytic duplicate columns.

  • Issue #2126 : Add experimental state store.

  • Issue #4334 : Popup explorer text on mouse hover.

  • Issue #4278 : Make document deletion also delete the permission records for that document. Also run migration V07_04_00_005__Orphaned_Doc_Perms which will delete all document permissions (in table doc_permission) for docs that are not a folder, not the System doc, are not a valid doc (i.e. in the doc table) and are not a pipeline filter. Deleted document permission records will first be copied to a backup table doc_permission_backup_V07_04_00_005.

  • Change document Copy and Move to check that the user has Owner permission (or admin) on the document being copied/moved if the permissions mode is None, Destination or Combined. This is because those modes will change the permissions which is something only an Owner/admin can do.

  • Issue #3989 : Improve pause behaviour in dashboards and general presentation of busy state throughout UI.

  • Issue #2111 : Add index assistance to find content feature.

For a detailed list of all the changes in v7.5 see: v7.5 CHANGELOG