I'm working again on migrating to 3.x from 2.3.3 and could use some advice.
1. I downloaded the ArsDigita version - 3.3ad13 too. Are there any critical
fixes I need to put in 3.4 before using it for production? Or is 3.3ad13
better for production? Or...?
2. Is there a good reference for 2.x migration to 3.x? I know about some
of the differences:
- detach doesn't work
- procs created/redefined after server boot are local to a thread
- starting a new thread takes a long time if lots of predefined procs
- the _http_puts, gets, readable functions are now _ns_http_xxxx
3. I am finding out some new differences:
- TCL 8.x is picky about list structure: [lindex $list 0] won't work if
the entire list isn't properly structured, even if the first element is.
TCL 7.6 apparently doesn't care
- in a test of reading through a file and setting an ns_share array, here
are some times:
2.3.3 - 536 seconds
TCL 8.x - 374 seconds
TCL 7.6 - 222 seconds
I'm assuming that's because 8.x doesn't handle ns_shares as efficiently
as 7.x??
- there is some difference with thread ID's and PID's now on Linux.
We were doing set pid [ns_thread getid], which returned 1026.
But in 3.x, this is not an "official" Linux process:
[06/Aug/2001:14:37:35][22357.1026][-sched-] Error: couldn't open "/proc/1026/status":
no such file or directory
couldn't open "/proc/1026/status": no such file or directory
while executing
"open /proc/$pid/status r"
invoked from within
"set fd [open /proc/$pid/status r]..."
(procedure "rlmonitormem" line 4)
invoked from within
This works in 2.3.3. There is a process entry for 22357. Is there a way
to get that from AS?
4. I saw some notes about rl_returnz (the gzip compression module) needing
to do a different kind of Ns_Return thing to return raw data. I'm using
our standard version and it works fine. Is this issue particular to the
ArsDigita version?
Advice welcome. :)
Jim