1 mday 1.1.2.1 Wed Oct 30 14:56:07 2002
2
3 Notes for mday-2-0-patches branch.This is a branch from the STABLE
4 tag, main trunk, as of October 29.
5
6 There are some substantial changes in addition to small bug fixes in
7 this branch. PLEASE TEST this on your platform(s) and send me trace
8 files or console dumps when you have problems.
9
10
11
12 The following known issues are fixed for Linux and Windows in this branch:
13
14
15 1) cimserver -s now shuts down the cimserver. This involved a fix to
16 the Indication Service, which was hanging because it shut down its
17 message queue prior to sending alerts to indication subscribers. I
18 changed the ordering of its shutdown procedures and it unblocked
19 everything else. There are a series of messages that display
20
21 2) HTTPConnection destructor fault. This was a combination of problems
22 mday 1.1.2.1 that involved the Monitor, the HTTP Connector, and the HTTP Connection
23 classes. I rewrote the monitor to use a pre-allocated connection table
24 and to change the state of table entries to reflect the creation and
25 destruction of connections (instead of creating and destroying table
26 entries). This is a much more stable design than the previous one,
27 given an asynchronous environment. The actual segfault occured when
28 the monitor selected a socket for which the owner had already deleted
29 the HTTPConnection. This can still happen on an MP machine. However,
30 now the monitor only changes the status of the entry to EMPTY. All the
31 cleanup is done outside of the monitor.
32
33 cimconfig now works.
34
35 2) HTTPConnection locking. The locking of an HTTP connection is still
36 necessary to avoid a race condition that involves socket
37 selection. However, I changed the locking to be per connection, rather
38 than for the entire class.
39
40 3) Indication Response Handler lifetime. Indications did not work
41 because the Provider Manager Services used an automatic reference to
42 an EnableIndicationResponseHandler to pass to the indication
43 mday 1.1.2.1 provider. Of course, when the indication fired it went into stack
44 memory that was no longer framed. Now the Provider Manager Service
45 allocates the EnableIndicationResponseHandler on the heap and stores
46 it in a table of active indication subscriptions (on a per-provider
47 basis). Only after the indication subscription is cancelled does the
48 Provider Manager Service delete the response handler.
49
50 You can now run the subscription tests successfully.
51
52 3) CIMOM Handle Lifetime. The Provider Manager was giving all
53 providers a reference to the same automatically allocated cimom
54 handle. When the stack went out of frame the CIMOM Handle reference
55 pointed to unframed stack memory. Now the Provider Manager allocates
56 the CIMOMHandle from the heap and keeps it until the provider
57 terminates.
58
59 4) CIMOM Handle message addressing. The CIMOM handle is not complete
60 and uses the messaging system correctly. It works. I've done some
61 initial tests and they are all successful. I still want to make some
62 changes to better contain error conditions.
63
64 mday 1.1.2.1 5) Provider Lifetime. Providers are now unloaded after being idle for
65 five minutes. This feature was disabled in the main branch after the
66 provider manager reference counting was rewritten to support
67 HPUX. The storage of providers and provider modules as references in
68 the Array class caused memory corruption. This is all fixed and the
69 provider manager is completely rewritten.
70
71 6) Provider Module reference counting. Reference counting is now
72 accomplished differently and provider modules are not copied - there
73 is only one module per library, but the reference counting now works.
74
75 7) Provider Module Lifetime. Modules (provider libraries) are now
76 unloaded when their reference count goes to zero. This will work on
77 operating systems that do not have inherent reference counting for
78 shared libraries.
79
80 8) Thread Pool lifetime. The thread pool's management of idle threads
81 has been restored to its previous algorithm, except the bugs that
82 caused memory corruption on MP systems. These were broken from the
83 very beginning but should now work correctly. The code is set to
84 delete deadlocked threads in addition to idle threads.
85 mday 1.1.2.1
86 9) I changed the method of making the name space manager
87 case-insensitive.
88
89 Please run the ThreadPool test and let me know how it works. I cannot
90 test this code on all platforms.
91
92
93
94
|