Release Notes

Public

7.0.16.2761: Nov 13 2018

New

Command line: the help of several commands including checkout and update has been correctly formatted (some indentation was wrong).

New

CLI: The "cm statt" and "cm rmattr" commands now support shelves. This was already supported by the core and the Windows GUI, but it lacked CLI support.

Example:

cm statt att:status@quake@localhost:6060 sh:6@quake@localhost:6060 New

New

Server: Improved the log to show more info about each request.

1) Improved Active Method Calls

3 new columns:

* Request: the number of the request, to help tracing calls.

* Status: can be one of these values:

** SslAuth: If the request is negotiating SSL.

** Proto: Request reading protocol information.

** Read: Request reading incoming data from the network.

** Run: Request running on the server.

** Send: Request response being sent back to the caller.

* Protocol: Remoting or Plastic.

* Sec: Security - can be SSL or None

ACTIVE METHOD CALLS
Name                                      Request IP              Time      Thread   Status   Protocol  Sec  User
GetRepositoryList                               5 127.0.0.1       00:01:06  24       Send     Remoting  None pablo
Total calls: 1
0 requests enqueued. 1 worker threads (0 free)

2) Requests are added to Active Method List even before the actual request name has been deserialized from the wire

ACTIVE METHOD CALLS
Name                                      Request IP              Time      Thread   Status   User
Unknown-plasticproto                            4 127.0.0.1       00:02:35  24       Proto
Total calls: 1
0 requests enqueued. 1 worker threads (0 free)

This greatly helps debugging calls that got stuck for some reason.

3) Security (SSL/None) added to ChannelCall

ChannelCall - conn:     1 protocol:plasticproto sec:ssl recb:   442|rect: 16|sentb:   892|sendt:  0|queuedt:    3109|prt:  119750|th:   25|dest:   0|mt:       0|sert:   0|zip:   0|cpu:      93|       127.0.0.1|user::pablo|GetWorkingMode

4) Each connection now prints how many requests attended:

  2018-10-31 13:27:06,665 A-20     DEBUG PlasticProto.ConnectionFromClient - conn    2 from 127.0.0.1 closed. Requests attended:   11

5) RequestId added to log calls. You need a new Plastic installation or modify your loader.log.conf as follows:

Add %property{RequestId} to DebugAppender and ChannelCallAppender.

    <appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
        <file value="plastic.debug.log.txt" />
        <appendToFile value="true" />
        <rollingStyle value="Date" />
        <datePattern value=".yyyyMMdd" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %property{ThreadId} %property{RequestId} %property{TransactionID} %property{UserId} %property{ClientMachine} %-5level %logger - %message%newline" />
        </layout>
    </appender>

    <appender name="ChannelCallAppender" type="log4net.Appender.RollingFileAppender">
        <file value="plastic.channelcall.log.txt" />
        <appendToFile value="true" />
        <rollingStyle value="Date" />
        <datePattern value=".yyyyMMdd" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %property{RequestId} %-5level %logger - %message%newline" />
        </layout>
    </appender>

6) More log in WorkerThreadPool: it now says the corresponding connection, which helps tracing issues:

Before

 2018-10-26 08:14:58,015 A-29    DEBUG PlasticProto.ConnectionFromClient - conn  154. awaked. total 1
 2018-10-26 08:14:58,015 A-29    DEBUG WorkerThreadPool - Enqueued new work. Enqueued: 1 Worker threads: 7 (2 free)
 2018-10-26 08:14:58,031 A-29    DEBUG WorkerThreadPool - There are 2 free threads - not starting a new one. Enqueued: 1

 2018-10-26 08:14:58,031 W-25    DEBUG WorkerThreadPool - Request dequeued. It was waiting for 00:00:00.0156254. Queued requests: 0. Id: 25
 2018-10-26 08:14:58,031 W-25    DEBUG WorkerThread - WorkerThread.Run: Work retrieved. Id: 25. 125 ms

Now:

2018-10-31 15:00:21,896 A-20     DEBUG Channel - conn    2. awaked. total 1
2018-10-31 15:00:21,897 A-20     DEBUG WorkerThreadPool - Enqueued new work. Enqueued: 1 Worker threads: 1 (1 free). conn    2
2018-10-31 15:00:21,897 A-20     DEBUG WorkerThreadPool - There are 1 free threads - not starting a new one. Enqueued: 1. conn    2

2018-10-31 15:00:21,897 W-21     DEBUG WorkerThreadPool - Request dequeued. It was waiting for 00:00:00. Queued requests: 0. ThId: 21. conn    2
2018-10-31 15:00:21,898 W-21     DEBUG WorkerThread - WorkerThread.Run: Work retrieved. ThId: 21. 2328 ms. conn    2

New

Gluon for macOS and Linux: built-in search in explore workspace view. From now on, you can find files at light speed just typing Command-F in macOS or CTRL-F in Linux.

New

Correctly format replication fields in showfindobjects command.

New

Added better explanations about the rev specification and about the target field in the cm find review command.

New

Windows GUI: The previously used server drop-down has been made more usable by only showing servers used in the last 30 days.