Package org.apache.ignite.mxbean

## Interface TransactionsMXBean

-     @MXBeanDescription("MBean that provides access to Ignite transactions.")
      public interface TransactionsMXBean

  Transactions MXBean interface.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `cancel​(String xid)` | Deprecated. Use managements API beans, instead.
    `String` | `getActiveTransactions​(Long minDuration, Integer minSize, String prj, String consistentIds, String xid, String lbRegex, Integer limit, String order, boolean detailed, boolean kill)` | Deprecated. Use managements API beans, instead.
    `long` | `getLongOperationsDumpTimeout()` | Returns a timeout (in millis) for printing long-running transactions as well as transactions that cannot receive locks for all their keys for a long time.
    `long` | `getLongTransactionTimeDumpThreshold()` | Returns threshold timeout in milliseconds for long transactions, if transaction exceeds it, it will be dumped in log with information about how much time did it spent in system time (time while aquiring locks, preparing, commiting, etc.)
    `double` | `getTransactionTimeDumpSamplesCoefficient()` | Returns the coefficient for samples of completed transactions that will be dumped in log.
    `int` | `getTransactionTimeDumpSamplesPerSecondLimit()` | Returns the limit of samples of completed transactions that will be dumped in log per second, if `getTransactionTimeDumpSamplesCoefficient()` is above `0.0`.
    `int` | `getTxKeyCollisionsInterval()` |
    `boolean` | `getTxOwnerDumpRequestsAllowed()` | Shows if dump requests from local node to near node are allowed, when long running transaction is found.
    `long` | `getTxTimeoutOnPartitionMapExchange()` | Gets transaction timeout on partition map exchange.
    `void` | `setLongOperationsDumpTimeout​(long timeout)` | Setting a timeout (in millis) for printing long-running transactions as well as transactions that cannot receive locks for all their keys for a long time.
    `void` | `setLongTransactionTimeDumpThreshold​(long threshold)` | Sets threshold timeout in milliseconds for long transactions, if transaction exceeds it, it will be dumped in log with information about how much time did it spent in system time (time while aquiring locks, preparing, commiting, etc.)
    `void` | `setTransactionTimeDumpSamplesCoefficient​(double coefficient)` | Sets the coefficient for samples of completed transactions that will be dumped in log.
    `void` | `setTransactionTimeDumpSamplesPerSecondLimit​(int limit)` | Sets the limit of samples of completed transactions that will be dumped in log per second, if `getTransactionTimeDumpSamplesCoefficient()` is above `0.0`.
    `void` | `setTxKeyCollisionsInterval​(int timeout)` | Set timeout interval for tx key contention analysis.
    `void` | `setTxOwnerDumpRequestsAllowed​(boolean allowed)` | Sets if dump requests from local node to near node are allowed, when long running transaction is found.
    `void` | `setTxTimeoutOnPartitionMapExchange​(long timeout)` | Sets transaction timeout on partition map exchange.

- - ### Method Detail

    - #### getActiveTransactions

          @Deprecated
          @MXBeanDescription("Returns or kills transactions matching the filter conditions.")
          String getActiveTransactions​(@MXBeanParameter(name="minDuration",description="Minimum duration (seconds).")
                                       Long minDuration,
                                       @MXBeanParameter(name="minSize",description="Minimum size.")
                                       Integer minSize,
                                       @MXBeanParameter(name="prj",description="Projection (servers|clients).")
                                       String prj,
                                       @MXBeanParameter(name="consistentIds",description="Consistent ids (separated by comma).")
                                       String consistentIds,
                                       @MXBeanParameter(name="xid",description="Transaction XID.")
                                       String xid,
                                       @MXBeanParameter(name="lbRegex",description="Label regexp.")
                                       String lbRegex,
                                       @MXBeanParameter(name="limit",description="Limit a number of transactions collected on each node.")
                                       Integer limit,
                                       @MXBeanParameter(name="order",description="Order by DURATION|SIZE.")
                                       String order,
                                       @MXBeanParameter(name="detailed",description="Show detailed description, otherwise only count.")
                                       boolean detailed,
                                       @MXBeanParameter(name="kill",description="Kill matching transactions (be careful).")
                                       boolean kill)

      Deprecated.
      Use managements API beans, instead.
      Parameters:
        `minDuration` - Minimum duration.
        `minSize` - Minimum size.
        `prj` - Projection.
        `consistentIds` - Consistent ids.
        `xid` - Xid.
        `lbRegex` - Label regex.
        `limit` - Limit.
        `order` - Order.
        `detailed` - Detailed.
        `kill` - Kill.
      Returns:
        If `detailed` flag is set - description of each transaction, else transactions count.
      See Also:
        `CommandMBean`

    - #### cancel

          @Deprecated
          @MXBeanDescription("Kills transactions by the xid.")
          void cancel​(@MXBeanParameter(name="xid",description="Transaction XID.")
                      String xid)

      Deprecated.
      Use managements API beans, instead.
      Kills transactions by the xid.
      Parameters:
        `xid` - Transaction xid.
      See Also:
        `TransactionView.xid()`, `CommandMBean`

    - #### getTxTimeoutOnPartitionMapExchange

          @MXBeanDescription("Returns transaction timeout on partition map exchange in milliseconds.")
          long getTxTimeoutOnPartitionMapExchange()

      Gets transaction timeout on partition map exchange.

      Returns:
        Transaction timeout on partition map exchange in milliseconds.
      See Also:
        `TransactionConfiguration.getTxTimeoutOnPartitionMapExchange()`

    - #### setTxTimeoutOnPartitionMapExchange

          @MXBeanDescription("Sets transaction timeout on partition map exchange in milliseconds.")
          void setTxTimeoutOnPartitionMapExchange​(@MXBeanParameter(name="timeout",description="Transaction timeout on partition map exchange in milliseconds.")
                                                  long timeout)

      Sets transaction timeout on partition map exchange.

      If not set, default value is `TransactionConfiguration.TX_TIMEOUT_ON_PARTITION_MAP_EXCHANGE` which means transactions will never be rolled back on partition map exchange.

      Parameters:
        `timeout` - Transaction timeout on partition map exchange in milliseconds.
      See Also:
        `TransactionConfiguration.setTxTimeoutOnPartitionMapExchange(long)`

    - #### getTxOwnerDumpRequestsAllowed

          @MXBeanDescription("Shows if dump requests from local node to near node are allowed, when long running transaction  is found. If allowed, the compute request to near node will be made to get thread dump of transaction owner thread.")
          boolean getTxOwnerDumpRequestsAllowed()

      Shows if dump requests from local node to near node are allowed, when long running transaction is found. If allowed, the compute request to near node will be made to get thread dump of transaction owner thread.
      Returns:
        `true` if allowed, `false` otherwise.

    - #### setTxOwnerDumpRequestsAllowed

          @MXBeanDescription("Shows if dump requests from local node to near node are allowed, when long running transaction  is found. If allowed, the compute request to near node will be made to get thread dump of transaction owner thread.")
          void setTxOwnerDumpRequestsAllowed​(@MXBeanParameter(name="allowed",description="Whether to allow.")
                                             boolean allowed)

      Sets if dump requests from local node to near node are allowed, when long running transaction is found. If allowed, the compute request to near node will be made to get thread dump of transaction owner thread.
      Parameters:
        `allowed` - whether to allow

    - #### getLongTransactionTimeDumpThreshold

          @MXBeanDescription("Returns threshold timeout in milliseconds for long transactions, if transaction exceeds it, it will be dumped in log with information about how much time did it spent in system time (time while aquiring locks, preparing, commiting, etc.)and user time (time when client node runs some code while holding transaction). Returns 0 if not set. No transactions are dumped in log if this parameter is not set.")
          long getLongTransactionTimeDumpThreshold()

      Returns threshold timeout in milliseconds for long transactions, if transaction exceeds it, it will be dumped in log with information about how much time did it spent in system time (time while aquiring locks, preparing, commiting, etc.) and user time (time when client node runs some code while holding transaction). Returns 0 if not set. No transactions are dumped in log if this parameter is not set.
      Returns:
        Threshold.

    - #### setLongTransactionTimeDumpThreshold

          @MXBeanDescription("Sets threshold timeout in milliseconds for long transactions, if transaction exceeds it, it will be dumped in log with information about how much time did it spent in system time (time while aquiring locks, preparing, commiting, etc.) and user time (time when client node runs some code while holding transaction). Can be set to 0 - no transactions will be dumped in log in this case.")
          void setLongTransactionTimeDumpThreshold​(@MXBeanParameter(name="threshold",description="Threshold timeout.")
                                                   long threshold)

      Sets threshold timeout in milliseconds for long transactions, if transaction exceeds it, it will be dumped in log with information about how much time did it spent in system time (time while aquiring locks, preparing, commiting, etc.) and user time (time when client node runs some code while holding transaction). Can be set to 0 - no transactions will be dumped in log in this case.
      Parameters:
        `threshold` - Threshold.

    - #### getTransactionTimeDumpSamplesCoefficient

          @MXBeanDescription("Returns the coefficient for samples of completed transactions that will be dumped in log.")
          double getTransactionTimeDumpSamplesCoefficient()

      Returns the coefficient for samples of completed transactions that will be dumped in log.
      Returns:
        Coefficient current value.

    - #### setTransactionTimeDumpSamplesCoefficient

          @MXBeanDescription("Sets the coefficient for samples of completed transactions that will be dumped in log.")
          void setTransactionTimeDumpSamplesCoefficient​(@MXBeanParameter(name="coefficient",description="Samples coefficient.")
                                                        double coefficient)

      Sets the coefficient for samples of completed transactions that will be dumped in log.
      Parameters:
        `coefficient` - Coefficient.

    - #### getTransactionTimeDumpSamplesPerSecondLimit

          @MXBeanDescription("Returns the limit of samples of completed transactions that will be dumped in log per second, if {@link #getTransactionTimeDumpSamplesCoefficient} is above <code>0.0</code>. Must be integer value greater than <code>0</code>.")
          int getTransactionTimeDumpSamplesPerSecondLimit()

      Returns the limit of samples of completed transactions that will be dumped in log per second, if `getTransactionTimeDumpSamplesCoefficient()` is above `0.0`. Must be integer value greater than `0`.
      Returns:
        Limit value.

    - #### setTransactionTimeDumpSamplesPerSecondLimit

          @MXBeanDescription("Sets the limit of samples of completed transactions that will be dumped in log per second, if {@link #getTransactionTimeDumpSamplesCoefficient} is above <code>0.0</code>. Must be integer value greater than <code>0</code>.")
          void setTransactionTimeDumpSamplesPerSecondLimit​(@MXBeanParameter(name="limit",description="Samples per second limit.")
                                                           int limit)

      Sets the limit of samples of completed transactions that will be dumped in log per second, if `getTransactionTimeDumpSamplesCoefficient()` is above `0.0`. Must be integer value greater than `0`.
      Parameters:
        `limit` - Limit value.

    - #### setLongOperationsDumpTimeout

          @MXBeanDescription("Setting a timeout (in millis) for printing long-running transactions as well as transactions that cannot receive locks for all their keys for a long time. Set less than or equal {@code 0} to disable.")
          void setLongOperationsDumpTimeout​(@MXBeanParameter(name="timeout",description="Long operations dump timeout.")
                                            long timeout)

      Setting a timeout (in millis) for printing long-running transactions as well as transactions that cannot receive locks for all their keys for a long time. Set less than or equal `0` to disable.
      Parameters:
        `timeout` - Timeout.

    - #### getLongOperationsDumpTimeout

          @MXBeanDescription("Returns a timeout (in millis) for printing long-running transactions as well as transactions that cannot receive locks for all their keys for a long time. Returns {@code 0} or less if not set.")
          long getLongOperationsDumpTimeout()

      Returns a timeout (in millis) for printing long-running transactions as well as transactions that cannot receive locks for all their keys for a long time. Returns `0` or less if not set.
      Returns:
        Timeout.

    - #### setTxKeyCollisionsInterval

          @MXBeanParametersNames("timeout")
          @MXBeanDescription("Timeout interval (in millis) for printing tx key contention queue size info. Each transaction besides OPTIMISTIC SERIALIZABLE capture locks on all enlisted keys, for some reasons per key lock queue may rise. This property sets the interval during which keys and appropriate queue size statistics has been collected.")
          void setTxKeyCollisionsInterval​(int timeout)

      Set timeout interval for tx key contention analysis.
      Parameters:
        `timeout` - Interval in millis.

    - #### getTxKeyCollisionsInterval

          @MXBeanDescription("Returns a timeout (in millis) for printing tx key contention queue size info. Each transaction besides OPTIMISTIC SERIALIZABLE capture locks on all enlisted keys, for some reasons per key lock queue may rise. Returns the interval during which keys and appropriate queue size statistics has been collected.")
          int getTxKeyCollisionsInterval()

      Returns:
        Current interval in millis.