Skip to content

Releases: emc-mongoose/mongoose

4.0.3

29 Nov 06:19
Compare
Choose a tag to compare

Fixed Bugs

Id Short Description
SLTM-1223 Insufficient configured threads

4.0.2

13 Nov 09:31
Compare
Choose a tag to compare

New Features and Enhancements

1. Configuration Layout Changes

Old parameter name (v < 4.0.2) New parameter name (v >= 4.0.2)
storage-net-http-namespace storage-namespace

Fixed Bugs

Id Short Description
BASE-1282 Few load operations results are lost sometimes

4.0.1

07 Oct 15:46
Compare
Choose a tag to compare

Fixed Bugs

Id Short Description
BASE-1276 Fails to create the file if the parent directory doesn't exist
BASE-1277 Hang for some time when a distributed load step has already finished

4.0.0

01 Oct 12:23
Compare
Choose a tag to compare

New Features and Enhancements

Functional

1. P2P Distributed Mode

The new distributed mode design is based on P2P (peer-to-peer) principles such as task/workload slicing (partitioning)
and independent execution. This allows to choose any node from the set to initiate the run. Also there's no more need to
dedicate the host for the controller. The remote API is also available to deploy applications on top of Mongoose node
set such as GUI.

2. Automated Installer

New Mongoose is delivered as a single jar instead of tarball. This jar installs all the required files automatically if
needed in the user home directory. Also, the installer detects the extensions and installs them too.

3. Extensible Configuration

Some extensions require specific configuration options. To support the specific configuration options the extensible
configuration was implemented. The new external library is used for this purpose.
The configuration is assembled dynamically, including the sub-configurations provided by the extensions resolved in the
runtime. Note that command line arguments shouldn't be used to specify the dictionary type values like the custom
HTTP headers.

Non-functional

  1. Mongoose v4.0.0 doesn't work with deprecated JSON scenarios anymore. So the tool converting the Mongoose v3.x
    scenarios to v4.0.0 scenarios is provided: https://github.com/emc-mongoose/scenario-converter-3to4

  2. New public issue tracker (Jira) is introduced instead of GitHub
    issue tracker.

Fixed Bugs

Id Short Description
BASE-1226 Load operations results queue contains the unhandled elements
SLTM-1164 Ugly error message
SLTM-1177 Reported duration/latency min/max values are not absolute
SLTM-1185 Configuration: failed to convert string value to a list of strings
SLTM-1195 SSL performance degradation after migration to Netty
SLTM-1213 Incorrect final metrics : latency > duration

3.6.1

25 Mar 11:40
Compare
Choose a tag to compare

3.6.0

23 Dec 22:24
Compare
Choose a tag to compare

Release Notes

New Features and Enhancements

Functional

  1. Extensions Mechanism

    The new simple way to use a custom scripting engine either a storage
    driver implementation. Just put the extension jar file(s) into the
    ext directory of Mongoose and it's ready to use.

  2. JSR-223 Compliant Scenario Engine

    Powerful scripting capability using any language supporting JSR-223
    standard. Javascript is proposed as default scenarios language.

Non-functional

  1. All storage driver implementations moved to the separate projects
    under the same GitHub organization.
    The list of the storage drivers supported currently:

    1. EMC Atmos
    2. EMC S3 (extensions)
    3. Filesystem
    4. HDFS (new)
    5. NFS (not working currently, under development)
    6. Amazon S3 (generic)
    7. OpenStack Swift

    The deployment procedure significantly changed,
    so please keep attention on this. Note also that base/core mongoose
    distribution doesn't include any storage driver implementation since
    the new version.

  2. The connection pool used by Mongoose moved to the separate project
    netty-connection-pool.

  3. The source code repository name changed from mongoose to
    mongoose-base due to storage driver implementations separation.
    Accessing via the old name redirects to the new one.

  4. Moved all content example files and all scenario files under the
    common example directory.

  5. Changed the default new items name length to 12 characters in
    order to make the new item name characters distribution uniform (in
    the space of the default radix of 36: [0-9a-z]). Previously all new
    item names began with character "0" either "1" what was not uniform
    enough.

Fixed Bugs

  • (1120) Path items input doesn't finish the listing
  • (1147) Connection pool deadlock if a connection is dropped

Documentation

3.5.1

04 Nov 16:02
930dfdc
Compare
Choose a tag to compare
3.5.1

Release v3.5.0

31 Oct 01:53
Compare
Choose a tag to compare

Release Notes

New Features and Enhancements

Functional

  1. Concurrency Model reworked and enhanced.

    1. New Unlimited Concurrency feature added.

      Allows to measure the actual maximum concurrency which the service/storage being test can sustain.

    2. Configurable I/O vs Calculations Balance.

    3. Coroutines library became a separate project.

  2. Recycle Mode reworked.

  3. Monitoring API.

  4. Output configuration enhancements

    1. Generate the new test id for each new test if the test id is not
      configured. It's not recommended to use the --test-step-id CLI argument since v3.5.
    2. The logging configuration file is moved from the "user space"
      to the resource bundle. The logging is configured through the main configuration.
    3. New output options.
      1. Console output coloring flag
      2. Load average metrics time period
      3. Load average metrics persistence flag
      4. Load average metrics table header period
      5. Summary metrics persistence flag.
      6. Trace metrics persistence flag.
    4. Log the defaults content, launch command and the scenario content
  5. Miscellaneous.

    1. Avoid flood of error messages.
    2. Docker image fix and size decrease.
    3. Fixed RMI port for the distributed mode and remote monitoring purposes.
    4. Set the corresponding ring buffer size if the content input file is configured

Fixed Bugs

  • (1036) Multiuser load case - destination path checking requests failing
  • (1047) Recycling the load tasks order is unpredictable
  • (1051) I/O trace log contains the records for the pending load tasks
  • (1064) Max latency is higher than max duration
  • (1065) File storage driver causes out of direct memory
  • (1068) Connection leak on the connection pool close
  • (1076) External XML results file reporting: include configured item size instead of transfer size
  • (1085) Subsequent load step doesn't append the same items output file

Performance

Follow the link above for the details

Configuration

Old parameter name (v < 3.5.0) New parameter name (v >= 3.5.0)
N/A load-service-threads
N/A storage-net-node-connAttemptsLimit
N/A item-data-ranges-concat
load-circular load-generator-recycle-enabled
load-queue-size load-generator-recycle-limit, storage-driver-queue-input, storage-driver-queue-output
load-rate-limit load-limit-rate
storage-driver-concurrency load-limit-concurrency
storage-driver-io-workers storage-driver-threads
item-data-content-file item-data-input-file
item-data-content-seed item-data-input-seed
item-data-content-ring-cache item-data-input-layer-cache
item-data-content-ring-size item-data-input-layer-size
test-step-limit-rate load-rate-limit
test-step-metrics-period output-metrics-average-period
test-step-metrics-threshold output-metrics-threshold
test-step-name test-step-id
test-step-precondition N/A (see the Metrics Output documentation for details)

Documentation

3.4.2

18 Aug 15:12
Compare
Choose a tag to compare
3.4.2

3.4.0

19 Jul 02:17
Compare
Choose a tag to compare

Release Notes

Includes the v3.3 (won't be released) new functionality and fixes:

See v3.3 Release Notes

New Features and Enhancements

Functional

  1. Multipart Upload.

The behavior may be improved due configurable batch size introduction.
It's recommended to use the batch size of 1 for a multipart upload
tests.

Fixed Bugs

  1. (SLTM-823) SSL/TLS support regression after introducing Netty in 3.x.
  2. (SLTM-976) Latency measurement failures.
  3. (SLTM-979) Failed to stop the remaining I/O tasks.
  4. (SLTM-1003) Manual interruption - content source closed before I/O interrupted causing NPE.
  5. (SLTM-1006) File storage driver: verification after update fails in ~0.2% cases.
  6. (SLTM-1014) MPU/DLO: I/O buffer is adjusted to the whole item size but not the part size.
  7. (SLTM-1015) Unique results map contains not unique elements.
  8. (SLTM-1016) Scenario values substitution pattern matches only one occurrence per value.
  9. (SLTM-1044) Decrease the size of the Docker image.
  10. (SLTM-1045) Use fixed RMI port.

Miscellaneous

  1. Standard Output Changes

    • More neutral colors
    • Metrics are displayed as a table
    • Highlighted metrics
    • Highlighted errors counter with color depending on the errors ratio
    • Highlighted the operation type with color depending on the particular type
    v3.3.x v3.4.0
    v3.3 v3.4
  2. Performance Improvements

    • Coroutine-like execution flow approach.
      This allowed to make the load generator concurrent and make the distributed mode linearly scalable.

    • Logging subsystem reworked to separate the log event streams more efficiently.

    • Conditional metrics snapshot recalculation decreases the CPU usage.

  3. Centralized Metrics Processing

    In the new version all the metrics are processed by the "Load Monitor" component containing the
    "Metrics Manager" singleton instance. Previously, the load monitor component included the
    execution control functionality which is separated to the "Load Controller" component. Such
    architecture change gives the following advantages:

    • Joint interface for the metrics fetching by external tools
    • More readable combined metrics output
  4. Configuration layout change

    Detailed configuration layout change info:

    Old parameter name (v < 3.4.0) New parameter name (v >= 3.4.0)
    N/A item-data-content-ring-cache
    item-data-content-ringSize item-data-content-ring-size
    N/A load-batch-size
  5. Advanced Test Coverage

    The automated tests are run by Travis CI using multiple
    parameterized build stages. This allowed to increase the coverage
    approximately by 2 orders of magnitude.

Documentation