RUSH - RELEASE NOTES
(C) Copyright 1995,2007 Greg Ercolano. All rights reserved.
Green | -- Nice features |
Orange | -- Useful bug fixes |
Red | -- Critical bug fixes |
|
|
|
Release Notes for 102.42a9 Fixes/Features: 06/09/08
---------------------------------------------------------------------------------
> RUSH
o RUSH: OPTIMIZE NETWORK MESSAGES
Optimized an unusual condition that caused unnecessary rush network chatter
when cpus were available for rendering but ram was not.
Added rush.conf 'optimizeramsched' flag which can be set to '0' to disable
this new optimization. (AURYN/LAIKA)
o RUSH: Added FIFO scheduling
Added new 'sched fifo' command to rush.conf.
When enabled, jobs use FIFO order when priorities are otherwise equal.
If used, must be enabled on ALL machines.
To use FIFO scheduling, uncomment this line in the rush.conf:
sched fifo
..and push the modified rush.conf file to all machines: rush -push rush.conf +any
(SOHOVFX/ARRI/SCANLINE/PIXELMAGIC/BSGVFX)
o RUSH: logdir pathname conversion
Added new logdir_convert "from" "to" option to rush.conf file
to allow log directories to be converted on the fly for non-homogenous
configurations where drive mappings are required, such as SAN mappings
as "local" drives where S: may be the only way to access a SAN drive
on windows machines in a mixed unix/windows network config.
o RUSH: Large frame requeues (Select All|Que on a 7000 frm job) optimized
Large requeues when many frames were running at the time backlogged UDP buffers
with 'kill' notices. Now threads UDP/TCP message handling in while operation runs. (TURNER)
o [WINDOWS] Fixed 49 day wrap around timer (again)
Keeps track of 'seconds since boot' timer wraps correctly now.
This fixes problem where after 49 days of uptime, the Rushd on Windows
machines would stop doing its 30 second checks for changes to the
license.dat, hosts and rush.conf file.
o RUSH: Fixed problem with 'change priority' error recovery
During TCP errors caused by premature peer connection closure was
not being abandoned correctly. This caused rushd to continue try to
talk over dead link for each priority value being changed with long
timeouts, causing rushd to appear unresponsive during that time.
Dan had particularly large list of cpus to change, so rushd was
offline for a long time during the command's continued execution
(dan@sohovfx 11/30/07) Workaround: don't interrupt a 'change priority'
operation while in progress. This problem has been fixed in 102.42a9,
such that the operation can be interrupted without side effects.
o RUSH: Fixed problem with 'change priority' error recovery
o RUSH: Fixed problem with using rsh(1) to remotely restart rushd
On Macs, using rsh(1) to restart rushd could cause the rsh to hang if the local shell
is /bin/sh (not an issue if shell is /bin/tcsh)
rsh(1) passes pipes and sockets to the child processes, causing rsh not
to return properly when a program like rushd backgrounds itself.
Solution was to have rushd close all file descriptors above stdin/out/err
during daemonization to ensure none of rsh's pipes get inherited by the
daemon.
o Re-instated 'rush -jobremarks' (was lost due to a source code regression)
and submit command 'jobremarks' (REG.TESTED/OK)
o Added 'rush -exitnotes' (REG.TESTED/OK)
This is a low-latency way for jobs to set the 'NOTES' field of the 'Frames' report
when a render is exiting. (as opposed to using 'rush -notes', which uses TCP and
can negatively affect the job server's response if run too frequently)
o 'rush -push': preserves file modes of existing file before overwriting
Allows distributing the S99rush file (which is executable)
o cpu.acct file: added online/offline state to 'r' (rotate) field (MINSK/CIS)
o cpu.acct file: new 's' (state) field shows timestamps for online/offline state changes. (MINSK/CIS)
o cpu.acct file: added rush.conf 'cpuacct_usetabs' flag; if set to '1', cpu.acct fields
will be tab delimited instead of space delimited. (Lessens size of file)
o rush/etc/hosts: detects too few fields
o rush/etc/hosts file now allows comments at end of data lines. (ORPHANAGE)
o [MICROSOFT] reports new 'log on failure' messages with newer compiler
o Fixed improper hostname reporting:
% rush -ping router
rush: 'fe.erco.x' [router]: valid host is NOT in rush hostlist (/usr/local/rush/etc/hosts)
---------
This is the last host in the rush hosts file.
Also should be showing the IP address in the brackets.
o 'Ram unvailable (x>y)' messages in 'rush -lc' reports; value for 'y'
could sometimes go below zero, which is reasonable during calculations
(due to TASK_START states). Reports now have value clamped to zero
for clarity.
> IRUSH
o Added Edit -> Preferences -> Themes.
First loads $RUSHDIR/rush/etc/.irush-themes (if it exists)
Then tries to load user's own ~/.irush-themes (if it exists)
Contents are merged, and will appear in Preferences -> 'Themes' menu.
o Frame range optimizations weren't enabled.
This speeds up changing the state of many frames at once, such
as doing a Frames -> Select All -> Que.
Code that optimized large lists of frames (eg. 7000 frames)
to convert 'rush -que 1 2 3 .. 7000' into a single 'rush -que 1-7000' command
was accidentally disabled due to a simple > vs >= bug. (TURNER)
o Added 'usetheme' to .irushrc file, to allow saving of user's Theme preference setting.
Also allows admin to define default theme in $RUSHDIR/rush/etc/.irushrc
o License warnings update automatically
o Added 'jobremarks' to "Job Edit" (TESTED, OK)
o Added 'irush -fu' command line flag, updated 'irush -help' (TESTED, OK)
o Fixed problem with auto-scrolling frames report when sorting enabled
(FATIMA @ HAMMERHEAD)
One line fix:
tty_browser->topline() == 1) // OLD
tty_browser->topline() <= 1) // NEW
o Fixed 'Edit -> Select All' option
(JEREMEY@BSGVFX 11/15/07)
o 'All Cpus' report: larger buttons under 'Hosts' section
> SUBMIT SCRIPTS:
o submit-3delight -- added new submit script
o submit-dependon and submit-dependon.bat demo:
removed unix-specific /bin/sleep commands.
o .common.pl prevents chdir() to tmpdir
o submit-fusion.pl -- Released with support for ConsoleSlave
o submit-animo.pl -- Added more "Alpha Channel" and Pixel Aspect Ratio options.
o submit-maya*.pl -- Added REPORTERROR=0 env variable setting to prevent senddmp.exe
(See rush.general posting from Greg on 01/29/2008)
o submit-maya-and-mray-tile -- removed old maya 'exit 128 license error' code
o submit-maya-tile -- added layers support
o submit-maya.pl -- added 'default' and 3delight Renderer: prompt options
> maya2008 mods (32bit and 64bit)
> 3delight plugin additions
> Removed old maya 'exit 128 license error' code
> added license pause ability, Licpause+Retry (DADO/WILDBRAIN)
> Warns about spaces in pathnames
o submit-harmony -- doc modifications
o submit-nuke -- numerous modifications for consistency
o submit-renderman -- numerous modifications for consistency
o submit-shake-quicktime -- numerous fixes to support codecs
o submit-softimage -- added -continue flag
o Added -presets and -help command line flags to:
> submit-3dsmax.pl
> submit-afterfx.pl
> submit-cinema4d.pl
> submit-combustion.pl
> submit-generic.pl
> submit-houdini.pl
> submit-mray-tile.pl
> submit-nuke.pl
> submit-rayz.pl
> submit-realflow.pl
> submit-renderman.pl
> submit-shake-quicktime.pl
> submit-turtle.pl
> RUSHADMIN:
> Added 'Scheduling' tab to adjust new rush.conf fifo scheduling flag
> Some minor onscreen documentation mods, small GUI improvements
> INPUT:
o added 'updatecommand' to 'choice'
> INTERNAL:
o String Library: fixed problem with String::ExpandEnvironmentVariable()
when expanding variables at the end of string. (Found when irush Hotkey
was set to e.g. "echo LOGNAME IS $LOGNAME", the $LOGNAME would be empty,
but using "echo LOGNAME IS ${LOGNAME}" would work.
o Updated TCP/UDP iface bind() error messages to include port number
o [INTERNAL] Back ported MicrosoftDeprecate.H
o [INTERNAL] Back ported MyMalloc.C exit callback
o Makefile: linux lib64 specifics
o Makefile: Mac now builds universal binaries by default
o FrameType: operator- and operator+ converted to const
o IRUSH: Converted frame optimization from doubles to FrameType,
to support large floating point frame numbers (10000.005),
avoiding suffering limitations of floating point precision.