@@ -330,6 +330,16 @@ This avoids any need for the `¦` separator used by `StreamLogStorage`.
330
330
More subtly, the `InputStream` interface lacked any room for indicating
331
331
that the build content was incomplete.
332
332
333
+ === Annotating lines by step using `ConsoleNote`
334
+
335
+ For the default filesystem-based storage,
336
+ originally it was attempted to use a special `ConsoleNote` to mark which step produced a given line.
337
+ This worked, but resulted in unacceptably bloated raw logs:
338
+ the serialized form, after GZIPping and Base64-encoding, was over 200 characters per line;
339
+ and rendered typical raw logs more or less unreadable.
340
+ Therefore the `¦` separator (later used only by `StreamLogStorage`) was introduced,
341
+ as it adds minimal space overhead and does not interfere with legibility.
342
+
333
343
=== Core dependencies
334
344
335
345
Some aspects of the implementation would be easier given certain API changes in Jenkins core (or Stapler).
@@ -342,12 +352,12 @@ For now, these considerations were outweighed by the convenience of running on s
342
352
343
353
When the synchronous `Launcher` interface is used to start non-durable remote processes,
344
354
as happens for example from typical `SCM` implementations delegating to a command-line tool,
345
- currently the remotability of any supplied `TaskListener` is ignored
355
+ historically the remotability of any supplied `TaskListener` is ignored
346
356
and all log lines are sent over the Remoting channel to be processed on the master side:
347
357
link:https://issues.jenkins-ci.org/browse/JENKINS-52729[JENKINS-52729].
348
- This is likely fixable as a simple patch to `Launcher`,
358
+ This was fixed as a simple patch to `Launcher`,
349
359
which would also benefit JEP-207 by removing any need to use ``DecoratedLauncher``s for freestyle build steps.
350
- This is likely to also fix encoding issues with such synchronous steps for JEP-206.
360
+ A related change could perhaps also fix encoding issues with such synchronous steps for JEP-206.
351
361
352
362
(While `TaskListener` was long ago designed to be remotable,
353
363
and `StreamTaskListener` in fact handled that by using `RemoteOutputStream`,
0 commit comments