rhmessaging commits: r1978 - in mgmt/cumin: bin and 1 other directories.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-04-24 15:08:06 -0400 (Thu, 24 Apr 2008)
New Revision: 1978
Modified:
mgmt/cumin/Makefile
mgmt/cumin/bin/cumin-instance-init
mgmt/cumin/python/cumin/__init__.py
Log:
Use /etc/cumin/cumin.conf instead of /etc/cumin.conf
Modified: mgmt/cumin/Makefile
===================================================================
--- mgmt/cumin/Makefile 2008-04-24 18:56:19 UTC (rev 1977)
+++ mgmt/cumin/Makefile 2008-04-24 19:08:06 UTC (rev 1978)
@@ -5,6 +5,7 @@
name := cumin
lib := ${PYTHON_LIB_DIR}/${name}
+etc := ${ETC_DIR}/${name}
doc := ${DOC_DIR}/${name}
log := ${VAR_DIR}/log/${name}
share := ${SHARE_DIR}/${name}
@@ -23,6 +24,6 @@
install -pm 0644 LICENSE COPYING ${doc}
install -d ${share}/resources
install -pm 0644 resources/* ${share}/resources
- install -d ${ETC_DIR}
- install -pm 0644 etc/* ${ETC_DIR}
+ install -d ${etc}
+ install -pm 0644 etc/* ${etc}
install -d ${log}
Modified: mgmt/cumin/bin/cumin-instance-init
===================================================================
--- mgmt/cumin/bin/cumin-instance-init 2008-04-24 18:56:19 UTC (rev 1977)
+++ mgmt/cumin/bin/cumin-instance-init 2008-04-24 19:08:06 UTC (rev 1978)
@@ -28,7 +28,7 @@
check_home(home)
- map = ((join(sep, "etc"), join(home, "etc")),
+ map = ((join(sep, "etc", "cumin"), join(home, "etc")),
(join(sep, "var", "log", "cumin"), join(home, "log")),
(join(prefix, "share", "cumin", "resources"), join(home, "resources")),
(join(prefix, "share", "mint", "sql"), join(home, "sql")))
@@ -38,7 +38,7 @@
check_home(home)
- map = ((join(prefix, "etc"), join(home, "etc")),
+ map = ((join(prefix, "etc", "cumin"), join(home, "etc")),
(join(sep, "var", "local", "log", "cumin"), join(home, "log")),
(join(prefix, "share", "cumin", "resources"), join(home, "resources")),
(join(prefix, "share", "mint", "sql"), join(home, "sql")))
@@ -52,7 +52,7 @@
check_home(home)
- map = ((join(prefix, "etc"), join(home, "etc")),
+ map = ((join(prefix, "etc", "cumin"), join(home, "etc")),
(join(prefix, "var", "log", "cumin"), join(home, "log")),
(join(prefix, "share", "cumin", "resources"), join(home, "resources")),
(join(prefix, "share", "mint", "sql"), join(home, "sql")))
Modified: mgmt/cumin/python/cumin/__init__.py
===================================================================
--- mgmt/cumin/python/cumin/__init__.py 2008-04-24 18:56:19 UTC (rev 1977)
+++ mgmt/cumin/python/cumin/__init__.py 2008-04-24 19:08:06 UTC (rev 1978)
@@ -133,7 +133,7 @@
def __init__(self):
super(CuminConfig, self).__init__()
- hdef = os.path.normpath("/usr/share/cumin")
+ hdef = os.path.normpath("/var/lib/cumin")
self.home = os.environ.get("CUMIN_HOME", hdef)
if not os.path.isdir(self.home):
16 years, 8 months
rhmessaging commits: r1977 - in mgmt: cumin/bin and 1 other directories.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-04-24 14:56:19 -0400 (Thu, 24 Apr 2008)
New Revision: 1977
Modified:
mgmt/cumin/Makefile
mgmt/cumin/bin/cumin-instance-init
mgmt/mint/Makefile
Log:
Change cumin-instance-init to create a home directory if it isn't
already present.
Use /var/lib/cumin as the cumin home dir.
Modified: mgmt/cumin/Makefile
===================================================================
--- mgmt/cumin/Makefile 2008-04-24 18:55:34 UTC (rev 1976)
+++ mgmt/cumin/Makefile 2008-04-24 18:56:19 UTC (rev 1977)
@@ -4,10 +4,10 @@
name := cumin
-home := ${SHARE_DIR}/${name}
lib := ${PYTHON_LIB_DIR}/${name}
doc := ${DOC_DIR}/${name}
log := ${VAR_DIR}/log/${name}
+share := ${SHARE_DIR}/${name}
build:
../bin/python-compile python
@@ -21,8 +21,8 @@
install -pm 0755 bin/* ${BIN_DIR}
install -d ${doc}
install -pm 0644 LICENSE COPYING ${doc}
- install -d ${home}/resources
- install -pm 0644 resources/* ${home}/resources
+ install -d ${share}/resources
+ install -pm 0644 resources/* ${share}/resources
install -d ${ETC_DIR}
install -pm 0644 etc/* ${ETC_DIR}
install -d ${log}
Modified: mgmt/cumin/bin/cumin-instance-init
===================================================================
--- mgmt/cumin/bin/cumin-instance-init 2008-04-24 18:55:34 UTC (rev 1976)
+++ mgmt/cumin/bin/cumin-instance-init 2008-04-24 18:56:19 UTC (rev 1977)
@@ -4,13 +4,15 @@
from os.path import *
def usage():
- print "Usage: cumin-instance-init [system|local]"
+ print "Usage: cumin-instance-init [system|local|prefix PREFIX]"
sys.exit(1)
def check_home(dir):
- if not isdir(dir):
- print "Error: home dir '%s' not found" % dir
- sys.exit(1)
+ if isdir(dir):
+ # Check writable
+ pass
+ else:
+ os.makedirs(dir)
if "-h" in sys.argv or "--help" in sys.argv:
usage()
@@ -21,30 +23,50 @@
usage()
if type == "system":
- home = join(sep, "usr", "share", "cumin")
+ prefix = join(sep, "usr")
+ home = join(sep, "var", "lib", "cumin")
check_home(home)
- map = ((join(sep, "usr", "bin"), join(home, "bin")),
- (join(sep, "etc"), join(home, "etc")),
- (join(sep, "var", "log", "cumin"), join(home, "log")))
+ map = ((join(sep, "etc"), join(home, "etc")),
+ (join(sep, "var", "log", "cumin"), join(home, "log")),
+ (join(prefix, "share", "cumin", "resources"), join(home, "resources")),
+ (join(prefix, "share", "mint", "sql"), join(home, "sql")))
elif type == "local":
- home = join(sep, "usr", "local", "share", "cumin")
+ prefix = join(sep, "usr", "local")
+ home = join(sep, "var", "local", "lib", "cumin")
check_home(home)
- map = ((join(sep, "usr", "local", "bin"), join(home, "bin")),
- (join(sep, "usr", "local", "etc"), join(home, "etc")),
- (join(sep, "var", "local", "log", "cumin"), join(home, "log")))
+ map = ((join(prefix, "etc"), join(home, "etc")),
+ (join(sep, "var", "local", "log", "cumin"), join(home, "log")),
+ (join(prefix, "share", "cumin", "resources"), join(home, "resources")),
+ (join(prefix, "share", "mint", "sql"), join(home, "sql")))
+elif type == "prefix":
+ try:
+ prefix = sys.argv[2]
+ except IndexError:
+ usage()
+
+ home = join(prefix, "var", "lib", "cumin")
+
+ check_home(home)
+
+ map = ((join(prefix, "etc"), join(home, "etc")),
+ (join(prefix, "var", "log", "cumin"), join(home, "log")),
+ (join(prefix, "share", "cumin", "resources"), join(home, "resources")),
+ (join(prefix, "share", "mint", "sql"), join(home, "sql")))
else:
print "Error: '%s' is not a recognized instance type" % type
usage()
for src, dst in map:
if exists(dst):
- print "File already exists: %s" % dst
+ #print "File already exists: %s" % dst
+ pass
elif islink(dst):
- print "Link already exists: %s" % dst
+ #print "Link already exists: %s" % dst
+ pass
else:
- print "Creating symlink: %s -> %s" % (dst, src)
+ #print "Creating symlink: %s -> %s" % (dst, src)
os.symlink(src, dst)
Modified: mgmt/mint/Makefile
===================================================================
--- mgmt/mint/Makefile 2008-04-24 18:55:34 UTC (rev 1976)
+++ mgmt/mint/Makefile 2008-04-24 18:56:19 UTC (rev 1977)
@@ -6,10 +6,9 @@
name := mint
-home := ${SHARE_DIR}/${name}
lib := ${PYTHON_LIB_DIR}/${name}
doc := ${DOC_DIR}/${name}
-log := ${VAR_DIR}/log/${name}
+share := ${SHARE_DIR}/${name}
build:
../bin/python-compile python
@@ -21,8 +20,8 @@
install bin/* ${BIN_DIR}
install -d ${doc}
install LICENSE COPYING ${doc}
- install -d ${home}/sql
- install sql/* ${home}/sql
+ install -d ${share}/sql
+ install sql/* ${share}/sql
schema: schema-python schema-sql
16 years, 8 months
rhmessaging commits: r1976 - mgmt/notes.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-04-24 14:55:34 -0400 (Thu, 24 Apr 2008)
New Revision: 1976
Modified:
mgmt/notes/errors.txt
Log:
Keep track of this
Modified: mgmt/notes/errors.txt
===================================================================
--- mgmt/notes/errors.txt 2008-04-24 18:21:49 UTC (rev 1975)
+++ mgmt/notes/errors.txt 2008-04-24 18:55:34 UTC (rev 1976)
@@ -1,6 +1,3 @@
-[justin@localhost cumindev]$ cumindev-etags
-/home/justin/cumindev/cumin/python/cumin/.#model.py: No such file or directory
-
APPLICATION ERROR
----- python trace -----
@@ -32,3 +29,29 @@
File "/home/jross/mgmt/cumin/python/cumin/broker.py", line 658, in render_group_selected_attr
if len(groups) > index and group.id == groups[index].id:
AttributeError: 'NoneType' object has no attribute 'id'
+
+When the db isn't set up:
+
+Traceback (most recent call last):
+ File "/usr/lib/python2.5/site-packages/wooly/wsgiserver.py", line 658, in communicate
+ req.respond()
+ File "/usr/lib/python2.5/site-packages/wooly/wsgiserver.py", line 383, in respond
+ response = self.wsgi_app(self.environ, self.start_response)
+ File "/usr/lib/python2.5/site-packages/wooly/server.py", line 45, in service
+ if not self.authorized(session):
+ File "/usr/lib/python2.5/site-packages/cumin/__init__.py", line 107, in authorized
+ user = ConsoleUser.selectBy(name=name)[0]
+ File "/usr/lib/python2.5/site-packages/sqlobject/sresults.py", line 156, in __getitem__
+ return list(self.clone(start=start, end=start+1))[0]
+ File "/usr/lib/python2.5/site-packages/sqlobject/sresults.py", line 162, in __iter__
+ return iter(list(self.lazyIter()))
+ File "/usr/lib/python2.5/site-packages/sqlobject/sresults.py", line 170, in lazyIter
+ return conn.iterSelect(self)
+ File "/usr/lib/python2.5/site-packages/sqlobject/dbconnection.py", line 399, in iterSelect
+ return select.IterationClass(self, self.getConnection(),
+ File "/usr/lib/python2.5/site-packages/sqlobject/dbconnection.py", line 264, in getConnection
+ conn = self.makeConnection()
+ File "/usr/lib/python2.5/site-packages/sqlobject/postgres/pgconnection.py", line 115, in makeConnection
+ raise self.module.OperationalError("%s; used connection string %r" % (e, self.dsn))
+OperationalError: FATAL: Ident authentication failed for user "cumin"
+; used connection string 'dbname=cumin user=cumin host=localhost'
16 years, 8 months
rhmessaging commits: r1975 - in store/trunk/cpp: tests and 2 other directories.
by rhmessaging-commits@lists.jboss.org
Author: kpvdr
Date: 2008-04-24 14:21:49 -0400 (Thu, 24 Apr 2008)
New Revision: 1975
Modified:
store/trunk/cpp/lib/jrnl/data_tok.hpp
store/trunk/cpp/lib/jrnl/rmgr.cpp
store/trunk/cpp/tests/Makefile.am
store/trunk/cpp/tests/jrnl/_st_basic.cpp
store/trunk/cpp/tests/jrnl/_st_basic_txn.cpp
store/trunk/cpp/tests/jrnl/_st_helper_fns.hpp
store/trunk/cpp/tests/jrnl/_st_read.cpp
store/trunk/cpp/tests/jrnl/_st_read_txn.cpp
store/trunk/cpp/tests/jrnl/_ut_jdir.cpp
store/trunk/cpp/tests/jrnl/jtt/Makefile.am
store/trunk/cpp/tests/jrnl/jtt/_ut_data_src.cpp
store/trunk/cpp/tests/jrnl/jtt/jrnl_instance.hpp
store/trunk/cpp/tests/jrnl/jtt/test_case.hpp
store/trunk/cpp/tests/jrnl/jtt/test_mgr.hpp
Log:
Fixes to several boost test memory leaks exposed when valgrind was enabled
Modified: store/trunk/cpp/lib/jrnl/data_tok.hpp
===================================================================
--- store/trunk/cpp/lib/jrnl/data_tok.hpp 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/lib/jrnl/data_tok.hpp 2008-04-24 18:21:49 UTC (rev 1975)
@@ -58,7 +58,7 @@
* \brief Data block token (data_tok) used to track wstate of a data block through asynchronous
* I/O process
*/
- class data_tok// : public qpid::RefCounted
+ class data_tok
{
public:
// TODO: Fix this, separate write state from operation
Modified: store/trunk/cpp/lib/jrnl/rmgr.cpp
===================================================================
--- store/trunk/cpp/lib/jrnl/rmgr.cpp 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/lib/jrnl/rmgr.cpp 2008-04-24 18:21:49 UTC (rev 1975)
@@ -73,10 +73,10 @@
_rrfc.add_cmpl_cnt_dblks(tot_pg_offs_dblks);
}
+ clean();
// Allocate memory for reading file header
if (::posix_memalign(&_fhdr_buffer, _sblksize, _sblksize))
{
- clean();
std::ostringstream oss;
oss << "posix_memalign(): blksize=" << _sblksize << " size=" << _sblksize;
oss << " errno=" << errno;
Modified: store/trunk/cpp/tests/Makefile.am
===================================================================
--- store/trunk/cpp/tests/Makefile.am 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/tests/Makefile.am 2008-04-24 18:21:49 UTC (rev 1975)
@@ -6,7 +6,7 @@
INCLUDES=-I$(top_srcdir)/lib -I$(top_srcdir)/lib/gen
-SUBDIRS = . jrnl
+SUBDIRS = jrnl .
TESTS = \
clean.sh \
Modified: store/trunk/cpp/tests/jrnl/_st_basic.cpp
===================================================================
--- store/trunk/cpp/tests/jrnl/_st_basic.cpp 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/tests/jrnl/_st_basic.cpp 2008-04-24 18:21:49 UTC (rev 1975)
@@ -50,7 +50,7 @@
string test_name = get_test_name(test_filename, "instantiation");
try
{
- jcntl jc(test_name, JRNL_DIR, test_name);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
BOOST_CHECK_EQUAL(jc.is_ready(), false);
}
catch(const exception& e) { BOOST_FAIL(e.what()); }
@@ -62,9 +62,9 @@
string test_name = get_test_name(test_filename, "initialization");
try
{
- jcntl jc(test_name, JRNL_DIR, test_name);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
BOOST_CHECK_EQUAL(jc.is_ready(), false);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
BOOST_CHECK_EQUAL(jc.is_ready(), true);
}
catch(const exception& e) { BOOST_FAIL(e.what()); }
@@ -78,8 +78,8 @@
{
string msg;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
BOOST_CHECK_EQUAL(enq_msg(jc, m, create_msg(msg, m, MSG_SIZE), false), u_int64_t(m));
for (int m=0; m<NUM_MSGS; m++)
@@ -96,8 +96,8 @@
{
string msg;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<2*NUM_MSGS; m+=2)
{
BOOST_CHECK_EQUAL(enq_msg(jc, m, create_msg(msg, m, MSG_SIZE), false), u_int64_t(m));
@@ -115,8 +115,8 @@
{
string msg;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
unsigned n = num_msgs_to_full(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS * JRNL_SBLK_SIZE,
MSG_REC_SIZE_DBLKS, true);
for (unsigned m=0; m<3*2*n; m+=2) // overwrite files 3 times
@@ -136,10 +136,10 @@
try
{
{
- jcntl jc(test_name, JRNL_DIR, test_name);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
BOOST_CHECK_EQUAL(jc.is_ready(), false);
BOOST_CHECK_EQUAL(jc.is_read_only(), false);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
BOOST_CHECK_EQUAL(jc.is_ready(), true);
BOOST_CHECK_EQUAL(jc.is_read_only(), false);
}
@@ -147,10 +147,10 @@
vector<string> txn_list;
u_int64_t hrid;
- jcntl jc(test_name, JRNL_DIR, test_name);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
BOOST_CHECK_EQUAL(jc.is_ready(), false);
BOOST_CHECK_EQUAL(jc.is_read_only(), false);
- jrnl_recover(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
+ jc.recover(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
BOOST_CHECK_EQUAL(jc.is_ready(), true);
BOOST_CHECK_EQUAL(jc.is_read_only(), true);
BOOST_CHECK_EQUAL(hrid, u_int64_t(0));
@@ -159,10 +159,10 @@
vector<string> txn_list;
u_int64_t hrid;
- jcntl jc(test_name, JRNL_DIR, test_name);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
BOOST_CHECK_EQUAL(jc.is_ready(), false);
BOOST_CHECK_EQUAL(jc.is_read_only(), false);
- jrnl_recover(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
+ jc.recover(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
BOOST_CHECK_EQUAL(jc.is_ready(), true);
BOOST_CHECK_EQUAL(jc.is_read_only(), true);
BOOST_CHECK_EQUAL(hrid, u_int64_t(0));
@@ -183,8 +183,8 @@
{
string msg;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
enq_msg(jc, m, create_msg(msg, m, MSG_SIZE), false);
}
@@ -192,8 +192,8 @@
vector<string> txn_list;
u_int64_t hrid;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_recover(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.recover(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
BOOST_CHECK_EQUAL(hrid, u_int64_t(NUM_MSGS - 1));
jc.recover_complete();
for (int m=0; m<NUM_MSGS; m++)
@@ -216,20 +216,20 @@
for (int m=0; m<2*NUM_MSGS; m+=2)
{
{
- jcntl jc(test_name, JRNL_DIR, test_name);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
if (m == 0)
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS); // First time only
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS); // First time only
else
{
- jrnl_recover(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
+ jc.recover(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
BOOST_CHECK_EQUAL(hrid, u_int64_t(m - 1));
jc.recover_complete();
}
enq_msg(jc, m, create_msg(msg, m, MSG_SIZE), false);
}
{
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_recover(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.recover(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
BOOST_CHECK_EQUAL(hrid, u_int64_t(m));
jc.recover_complete();
deq_msg(jc, m);
@@ -248,8 +248,8 @@
{
string msg;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
// Transient msgs - should not recover
for (int m=0; m<NUM_MSGS; m++)
enq_msg(jc, m, create_msg(msg, m, MSG_SIZE), true);
@@ -268,8 +268,8 @@
vector<string> txn_list;
u_int64_t hrid;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_recover(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.recover(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
// Recover non-transient msgs
for (int m=NUM_MSGS; m<NUM_MSGS*2; m++)
{
@@ -343,8 +343,8 @@
{
string msg;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_DEFAULT_JFILES, DEFAULT_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_DEFAULT_JFILES, DEFAULT_JFSIZE_SBLKS);
unsigned m;
// Fill journal to just below threshold
@@ -379,8 +379,8 @@
{
string msg;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_DEFAULT_JFILES, DEFAULT_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_DEFAULT_JFILES, DEFAULT_JFSIZE_SBLKS);
unsigned m;
// Fill journal to just below threshold
@@ -408,8 +408,8 @@
{
string msg;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
u_int64_t rid = enq_msg(jc, 0, create_msg(msg, 0, MSG_SIZE), false);
deq_msg(jc, rid);
try{ deq_msg(jc, rid); BOOST_ERROR("Did not throw exception on second dequeue."); }
Modified: store/trunk/cpp/tests/jrnl/_st_basic_txn.cpp
===================================================================
--- store/trunk/cpp/tests/jrnl/_st_basic_txn.cpp 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/tests/jrnl/_st_basic_txn.cpp 2008-04-24 18:21:49 UTC (rev 1975)
@@ -53,8 +53,8 @@
string msg;
string xid;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
create_xid(xid, 0, XID_SIZE);
for (int m=0; m<NUM_MSGS; m++)
BOOST_CHECK_EQUAL(enq_txn_msg(jc, m, create_msg(msg, m, MSG_SIZE), xid, false),
@@ -75,8 +75,8 @@
string msg;
string xid;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
create_xid(xid, 0, XID_SIZE);
for (int m=0; m<NUM_MSGS; m++)
BOOST_CHECK_EQUAL(enq_txn_msg(jc, m, create_msg(msg, m, MSG_SIZE), xid, false),
@@ -104,8 +104,8 @@
string msg;
string xid;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
{
create_xid(xid, m, XID_SIZE);
@@ -127,8 +127,8 @@
string msg;
string xid;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
{
create_xid(xid, m, XID_SIZE);
@@ -155,8 +155,8 @@
string msg;
string xid;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
create_xid(xid, 0, XID_SIZE);
for (int m=0; m<NUM_MSGS; m++)
BOOST_CHECK_EQUAL(enq_txn_msg(jc, m, create_msg(msg, m, MSG_SIZE), xid, false),
@@ -177,8 +177,8 @@
string msg;
string xid;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
create_xid(xid, 0, XID_SIZE);
for (int m=0; m<NUM_MSGS; m++)
BOOST_CHECK_EQUAL(enq_txn_msg(jc, m, create_msg(msg, m, MSG_SIZE), xid, false),
@@ -199,8 +199,8 @@
string msg;
string xid;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
{
create_xid(xid, m, XID_SIZE);
@@ -222,8 +222,8 @@
string msg;
string xid;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
{
create_xid(xid, m, XID_SIZE);
Modified: store/trunk/cpp/tests/jrnl/_st_helper_fns.hpp
===================================================================
--- store/trunk/cpp/tests/jrnl/_st_helper_fns.hpp 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/tests/jrnl/_st_helper_fns.hpp 2008-04-24 18:21:49 UTC (rev 1975)
@@ -49,6 +49,39 @@
#define XLARGE_MSG_RATIO (1.0 * LARGE_MSG_REC_SIZE / JRNL_DBLK_SIZE / JRNL_SBLK_SIZE / JRNL_RMGR_PAGE_SIZE)
#define XLARGE_MSG_THRESHOLD (int)(JRNL_DEFAULT_FSIZE * NUM_DEFAULT_JFILES * JRNL_ENQ_THRESHOLD / 100 / LARGE_MSG_RATIO)
+class test_dtok : public data_tok
+{
+private:
+ bool flag;
+public:
+ test_dtok() : data_tok(), flag(false) {}
+ virtual ~test_dtok() {}
+ bool done() { if (flag || _wstate == NONE) return true; else { flag = true; return false; } }
+};
+
+class test_jrnl : public jcntl
+{
+public:
+ test_jrnl(const std::string& jid, const std::string& jdir, const std::string& base_filename) :
+ jcntl(jid, jdir, base_filename) {}
+ virtual ~test_jrnl() {}
+ void initialize(const u_int16_t num_jfiles, const u_int32_t jfsize_sblks)
+ { jcntl::initialize(num_jfiles, jfsize_sblks, 0, &aio_wr_callback); }
+ void recover(const u_int16_t num_jfiles, const u_int32_t jfsize_sblks, vector<string>& txn_list,
+ u_int64_t& highest_rid)
+ { jcntl::recover(num_jfiles, jfsize_sblks, 0, &aio_wr_callback, txn_list, highest_rid); }
+private:
+ static void aio_wr_callback(jcntl*, std::vector<data_tok*>& dtokl)
+ {
+ for (std::vector<data_tok*>::const_iterator i=dtokl.begin(); i!=dtokl.end(); i++)
+ {
+ test_dtok* dtp = static_cast<test_dtok*>(*i);
+ if (dtp->done())
+ delete dtp;
+ }
+ }
+};
+
const string
get_test_name(const string& file, const string& test_name)
{
@@ -83,30 +116,23 @@
return true;
}
-void
-jrnl_init(jcntl& jc, const u_int16_t num_jfiles, const u_int32_t jfsize_sblks)
-{
- jc.initialize(num_jfiles, jfsize_sblks, 0, 0);
-}
-
-void
-jrnl_recover(jcntl& jc, const u_int16_t num_jfiles, const u_int32_t jfsize_sblks,
- vector<string>& txn_list, u_int64_t& highest_rid)
-{
- jc.recover(num_jfiles, jfsize_sblks, 0, 0, txn_list, highest_rid);
-}
-
u_int64_t
enq_msg(jcntl& jc, const u_int64_t rid, const string& msg, const bool transient,
const iores exp_ret = RHM_IORES_SUCCESS)
{
ostringstream ctxt;
ctxt << "enq_msg(" << rid << ")";
- data_tok* dtp = new data_tok;
+ test_dtok* dtp = new test_dtok;
BOOST_CHECK_MESSAGE(dtp != 0, "Data token allocation failed (dtp == 0).");
- check_iores(ctxt.str(), jc.enqueue_data_record(msg.c_str(), msg.size(), msg.size(), dtp,
- transient), exp_ret);
- return dtp->rid();
+ try
+ {
+ iores res = jc.enqueue_data_record(msg.c_str(), msg.size(), msg.size(), dtp, transient);
+ check_iores(ctxt.str(), res, exp_ret);
+ u_int64_t dtok_rid = dtp->rid();
+ if (dtp->done()) delete dtp;
+ return dtok_rid;
+ }
+ catch (exception e) { delete dtp; throw; }
}
u_int64_t
@@ -115,10 +141,17 @@
{
ostringstream ctxt;
ctxt << "enq_extern_msg(" << rid << ")";
- data_tok* dtp = new data_tok;
+ test_dtok* dtp = new test_dtok;
BOOST_CHECK_MESSAGE(dtp != 0, "Data token allocation failed (dtp == 0).");
- check_iores(ctxt.str(), jc.enqueue_extern_data_record(msg_size, dtp, transient), exp_ret);
- return dtp->rid();
+ try
+ {
+ iores res = jc.enqueue_extern_data_record(msg_size, dtp, transient);
+ check_iores(ctxt.str(), res, exp_ret);
+ u_int64_t dtok_rid = dtp->rid();
+ if (dtp->done()) delete dtp;
+ return dtok_rid;
+ }
+ catch (exception e) { delete dtp; throw; }
}
u_int64_t
@@ -127,11 +160,18 @@
{
ostringstream ctxt;
ctxt << "enq_txn_msg(" << rid << ")";
- data_tok* dtp = new data_tok;
+ test_dtok* dtp = new test_dtok;
BOOST_CHECK_MESSAGE(dtp != 0, "Data token allocation failed (dtp == 0).");
- check_iores(ctxt.str(), jc.enqueue_txn_data_record(msg.c_str(), msg.size(), msg.size(), dtp,
- xid, transient), exp_ret);
- return dtp->rid();
+ try
+ {
+ iores res = jc.enqueue_txn_data_record(msg.c_str(), msg.size(), msg.size(), dtp, xid,
+ transient);
+ check_iores(ctxt.str(), res, exp_ret);
+ u_int64_t dtok_rid = dtp->rid();
+ if (dtp->done()) delete dtp;
+ return dtok_rid;
+ }
+ catch (exception e) { delete dtp; throw; }
}
u_int64_t
@@ -140,11 +180,17 @@
{
ostringstream ctxt;
ctxt << "enq_extern_txn_msg(" << rid << ")";
- data_tok* dtp = new data_tok;
+ test_dtok* dtp = new test_dtok;
BOOST_CHECK_MESSAGE(dtp != 0, "Data token allocation failed (dtp == 0).");
- check_iores(ctxt.str(), jc.enqueue_extern_txn_data_record(msg_size, dtp, xid, transient),
- exp_ret);
- return dtp->rid();
+ try
+ {
+ iores res = jc.enqueue_extern_txn_data_record(msg_size, dtp, xid, transient);
+ check_iores(ctxt.str(), res, exp_ret);
+ u_int64_t dtok_rid = dtp->rid();
+ if (dtp->done()) delete dtp;
+ return dtok_rid;
+ }
+ catch (exception e) { delete dtp; throw; }
}
u_int64_t
@@ -152,12 +198,19 @@
{
ostringstream ctxt;
ctxt << "deq_msg(" << drid << ")";
- data_tok* dtp = new data_tok;
+ test_dtok* dtp = new test_dtok;
BOOST_CHECK_MESSAGE(dtp != 0, "Data token allocation failed (dtp == 0).");
dtp->set_wstate(data_tok::ENQ);
dtp->set_rid(drid);
- check_iores(ctxt.str(), jc.dequeue_data_record(dtp), exp_ret);
- return dtp->rid();
+ try
+ {
+ iores res = jc.dequeue_data_record(dtp);
+ check_iores(ctxt.str(), res, exp_ret);
+ u_int64_t dtok_rid = dtp->rid();
+ if (dtp->done()) delete dtp;
+ return dtok_rid;
+ }
+ catch (exception e) { delete dtp; throw; }
}
u_int64_t
@@ -166,30 +219,51 @@
{
ostringstream ctxt;
ctxt << "deq_txn_msg(" << drid << ")";
- data_tok* dtp = new data_tok;
+ test_dtok* dtp = new test_dtok;
BOOST_CHECK_MESSAGE(dtp != 0, "Data token allocation failed (dtp == 0).");
dtp->set_wstate(data_tok::ENQ);
dtp->set_rid(drid);
- check_iores(ctxt.str(), jc.dequeue_txn_data_record(dtp, xid), exp_ret);
- return dtp->rid();
+ try
+ {
+ iores res = jc.dequeue_txn_data_record(dtp, xid);
+ check_iores(ctxt.str(), res, exp_ret);
+ u_int64_t dtok_rid = dtp->rid();
+ if (dtp->done()) delete dtp;
+ return dtok_rid;
+ }
+ catch (exception e) { delete dtp; throw; }
}
u_int64_t
txn_abort(jcntl& jc, const string& xid, const iores exp_ret = RHM_IORES_SUCCESS)
{
- data_tok* dtp = new data_tok;
+ test_dtok* dtp = new test_dtok;
BOOST_CHECK_MESSAGE(dtp != 0, "Data token allocation failed (dtp == 0).");
- check_iores("txn_abort", jc.txn_abort(dtp, xid), exp_ret);
- return dtp->rid();
+ try
+ {
+ iores res = jc.txn_abort(dtp, xid);
+ check_iores("txn_abort", res, exp_ret);
+ u_int64_t dtok_rid = dtp->rid();
+ if (dtp->done()) delete dtp;
+ return dtok_rid;
+ }
+ catch (exception e) { delete dtp; throw; }
}
u_int64_t
txn_commit(jcntl& jc, const string& xid, const iores exp_ret = RHM_IORES_SUCCESS)
{
- data_tok* dtp = new data_tok;
+ test_dtok* dtp = new test_dtok;
BOOST_CHECK_MESSAGE(dtp != 0, "Data token allocation failed (dtp == 0).");
- check_iores("txn_commit", jc.txn_commit(dtp, xid), exp_ret);
- return dtp->rid();
+ try
+ {
+ iores res = jc.txn_commit(dtp, xid);
+ check_iores("txn_commit", res, exp_ret);
+ u_int64_t dtok_rid = dtp->rid();
+ if (dtp->done()) delete dtp;
+ return dtok_rid;
+ }
+ catch (exception e) { delete dtp; throw; }
}
void
@@ -200,13 +274,18 @@
std::size_t msize = 0;
void* xp = 0;
std::size_t xsize = 0;
- data_tok* dtp = new data_tok;
+ test_dtok* dtp = new test_dtok;
BOOST_CHECK_MESSAGE(dtp != 0, "Data token allocation failed (dtp == 0).");
dtp->set_wstate(data_tok::ENQ);
unsigned aio_sleep_cnt = 0;
- while (handle_jcntl_response(jc.read_data_record(&mp, msize, &xp, xsize, transient, external,
- dtp), jc, aio_sleep_cnt, "read_msg", exp_ret)) ;
+ try
+ {
+ while (handle_jcntl_response(jc.read_data_record(&mp, msize, &xp, xsize, transient,
+ external, dtp), jc, aio_sleep_cnt, "read_msg", exp_ret)) ;
+ }
+ catch (exception e) { delete dtp; throw; }
+
if (mp)
msg.assign((char*)mp, msize);
if (xp)
@@ -220,7 +299,7 @@
std::free(mp);
mp = 0;
}
-
+ delete dtp;
}
u_int32_t
Modified: store/trunk/cpp/tests/jrnl/_st_read.cpp
===================================================================
--- store/trunk/cpp/tests/jrnl/_st_read.cpp 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/tests/jrnl/_st_read.cpp 2008-04-24 18:21:49 UTC (rev 1975)
@@ -57,8 +57,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
read_msg(jc, rmsg, xid, transientFlag, externalFlag, RHM_IORES_EMPTY);
}
catch(const exception& e) { BOOST_FAIL(e.what()); }
@@ -76,8 +76,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
enq_msg(jc, m, create_msg(msg, m, MSG_SIZE), false);
jc.flush();
@@ -109,8 +109,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<2*NUM_MSGS; m+=2)
{
enq_msg(jc, m, create_msg(msg, m, MSG_SIZE), false);
@@ -137,8 +137,8 @@
{
string msg;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
enq_msg(jc, m, create_msg(msg, m, MSG_SIZE), false);
}
@@ -151,8 +151,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_recover(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.recover(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
BOOST_CHECK_EQUAL(hrid, u_int64_t(NUM_MSGS - 1));
jc.recover_complete();
for (int m=0; m<NUM_MSGS; m++)
@@ -180,8 +180,8 @@
{
string msg;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
enq_msg(jc, m, create_msg(msg, m, MSG_SIZE), false);
}
@@ -194,8 +194,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_recover(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.recover(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
BOOST_CHECK_EQUAL(hrid, u_int64_t(NUM_MSGS - 1));
for (int m=0; m<NUM_MSGS; m++)
{
@@ -216,8 +216,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_recover(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.recover(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS, txn_list, hrid);
BOOST_CHECK_EQUAL(hrid, u_int64_t(NUM_MSGS - 1));
for (int m=0; m<NUM_MSGS; m++)
{
@@ -257,8 +257,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
unsigned m;
for (m=0; m<2*NUM_MSGS; m+=2)
{
@@ -285,8 +285,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
unsigned m;
unsigned read_buffer_size_dblks = JRNL_RMGR_PAGES * JRNL_RMGR_PAGE_SIZE * JRNL_SBLK_SIZE;
unsigned n = num_msgs_to_full(1, read_buffer_size_dblks, MSG_REC_SIZE_DBLKS, true);
@@ -315,8 +315,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
unsigned read_buffer_size_dblks = JRNL_RMGR_PAGES * JRNL_RMGR_PAGE_SIZE * JRNL_SBLK_SIZE;
unsigned n = num_msgs_to_full(1, read_buffer_size_dblks, MSG_REC_SIZE_DBLKS, true);
unsigned m = 0;
Modified: store/trunk/cpp/tests/jrnl/_st_read_txn.cpp
===================================================================
--- store/trunk/cpp/tests/jrnl/_st_read_txn.cpp 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/tests/jrnl/_st_read_txn.cpp 2008-04-24 18:21:49 UTC (rev 1975)
@@ -57,8 +57,8 @@
string rxid;
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
create_xid(xid, 0, XID_SIZE);
for (int m=0; m<NUM_MSGS; m++)
enq_txn_msg(jc, m, create_msg(msg, m, MSG_SIZE), xid, false);
@@ -92,8 +92,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
{
create_xid(xid, m, XID_SIZE);
@@ -124,8 +124,8 @@
string rxid;
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
create_xid(xid, 1, XID_SIZE);
for (int m=0; m<NUM_MSGS; m++)
enq_txn_msg(jc, m, create_msg(msg, m, MSG_SIZE), xid, false);
@@ -151,8 +151,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
{
create_xid(xid, m, XID_SIZE);
@@ -180,8 +180,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
create_xid(xid, 2, XID_SIZE);
for (int m=0; m<NUM_MSGS; m++)
enq_txn_msg(jc, m, create_msg(msg, m, MSG_SIZE), xid, false);
@@ -207,8 +207,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
{
create_xid(xid, m, XID_SIZE);
@@ -236,8 +236,8 @@
bool externalFlag;
create_xid(xid, 3, XID_SIZE);
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
enq_msg(jc, m, create_msg(msg, m, MSG_SIZE), false);
for (int m=0; m<NUM_MSGS; m++)
@@ -264,8 +264,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<3*NUM_MSGS; m+=3)
{
enq_msg(jc, m, create_msg(msg, m, MSG_SIZE), false);
@@ -295,8 +295,8 @@
bool externalFlag;
create_xid(xid, 4, XID_SIZE);
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<NUM_MSGS; m++)
enq_msg(jc, m, create_msg(msg, m, MSG_SIZE), false);
for (int m=0; m<NUM_MSGS; m++)
@@ -331,8 +331,8 @@
bool transientFlag;
bool externalFlag;
- jcntl jc(test_name, JRNL_DIR, test_name);
- jrnl_init(jc, NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
+ test_jrnl jc(test_name, JRNL_DIR, test_name);
+ jc.initialize(NUM_TEST_JFILES, TEST_JFSIZE_SBLKS);
for (int m=0; m<3*NUM_MSGS; m+=3)
{
enq_msg(jc, m, create_msg(msg, m, MSG_SIZE), false);
Modified: store/trunk/cpp/tests/jrnl/_ut_jdir.cpp
===================================================================
--- store/trunk/cpp/tests/jrnl/_ut_jdir.cpp 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/tests/jrnl/_ut_jdir.cpp 2008-04-24 18:21:49 UTC (rev 1975)
@@ -128,6 +128,7 @@
other_cnt++;
}
}
+ ::closedir(dir);
if (incl_files)
{
if (incl_dirs)
Modified: store/trunk/cpp/tests/jrnl/jtt/Makefile.am
===================================================================
--- store/trunk/cpp/tests/jrnl/jtt/Makefile.am 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/tests/jrnl/jtt/Makefile.am 2008-04-24 18:21:49 UTC (rev 1975)
@@ -93,7 +93,7 @@
test_case.cpp \
test_case_result.cpp \
test_case_result_agregation.cpp
-_ut_read_arg_LDADD = -lboost_unit_test_framework -lrt -lboost_program_options $(LINK_BDB)
+_ut_read_arg_LDADD = -lboost_unit_test_framework -lrt -lboost_program_options $(LINK_BDB)
_ut_jrnl_instance_SOURCES = _ut_jrnl_instance.cpp ../../unit_test.cpp \
args.cpp \
@@ -104,13 +104,11 @@
test_case.cpp \
test_case_result.cpp \
test_case_result_agregation.cpp
-
_ut_jrnl_instance_LDADD = -lboost_unit_test_framework -laio -lrt -lboost_program_options $(LINK_BDB)
_ut_test_case_SOURCES = _ut_test_case.cpp ../../unit_test.cpp test_case.cpp test_case_result.cpp test_case_result_agregation.cpp
_ut_test_case_LDADD = -lboost_unit_test_framework -lrt $(LINK_BDB)
-
_ut_test_case_result_SOURCES = _ut_test_case_result.cpp ../../unit_test.cpp test_case_result.cpp
_ut_test_case_result_LDADD = -lboost_unit_test_framework -lrt $(LINK_BDB)
@@ -122,7 +120,6 @@
test_case_set.cpp \
test_case_result.cpp \
test_case_result_agregation.cpp
-
_ut_test_case_set_LDADD = -lboost_unit_test_framework -lrt $(LINK_BDB)
EXTRA_DIST = \
Modified: store/trunk/cpp/tests/jrnl/jtt/_ut_data_src.cpp
===================================================================
--- store/trunk/cpp/tests/jrnl/jtt/_ut_data_src.cpp 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/tests/jrnl/jtt/_ut_data_src.cpp 2008-04-24 18:21:49 UTC (rev 1975)
@@ -58,6 +58,7 @@
QPID_AUTO_TEST_CASE(xid_data_xid)
{
+ const std::size_t num = 256;
cout << test_filename << ".xid_data_xid: " << flush;
BOOST_CHECK_EQUAL(data_src::get_xid(1), "0");
BOOST_CHECK_EQUAL(data_src::get_xid(2), "01");
@@ -75,7 +76,7 @@
BOOST_CHECK_EQUAL(data_src::get_xid(14), "xid:00000013:n");
BOOST_CHECK_EQUAL(data_src::get_xid(15), "xid:00000014:no");
std::size_t i = 15;
- for (; i<1024; i++)
+ for (; i<num; i++)
{
string xid(data_src::get_xid(i));
@@ -87,7 +88,7 @@
BOOST_CHECK_EQUAL(xid[13], 'n');
BOOST_CHECK_EQUAL(xid[i-1], (char)('a' + ((i-1)%26)));
}
- for (std::size_t j=data_src::max_xsize-1024; j<data_src::max_xsize; j++,i++)
+ for (std::size_t j=data_src::max_xsize-num; j<data_src::max_xsize; j++,i++)
{
string xid(data_src::get_xid(j));
Modified: store/trunk/cpp/tests/jrnl/jtt/jrnl_instance.hpp
===================================================================
--- store/trunk/cpp/tests/jrnl/jtt/jrnl_instance.hpp 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/tests/jrnl/jtt/jrnl_instance.hpp 2008-04-24 18:21:49 UTC (rev 1975)
@@ -73,8 +73,8 @@
const std::string& base_filename,
const u_int16_t num_jfiles = jrnl_init_params::def_num_jfiles,
const u_int32_t jfsize_sblks = jrnl_init_params::def_jfsize_sblks);
- jrnl_instance(const jrnl_init_params::shared_ptr& params);
- ~jrnl_instance();
+ jrnl_instance(const jrnl_init_params::shared_ptr& params);
+ virtual ~jrnl_instance();
inline const jrnl_init_params::shared_ptr& params() const { return _jpp; }
inline const std::string& jid() const { return _jpp->jid(); }
Modified: store/trunk/cpp/tests/jrnl/jtt/test_case.hpp
===================================================================
--- store/trunk/cpp/tests/jrnl/jtt/test_case.hpp 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/tests/jrnl/jtt/test_case.hpp 2008-04-24 18:21:49 UTC (rev 1975)
@@ -74,7 +74,7 @@
const bool auto_deq, const std::size_t min_xid_size,
const std::size_t max_xid_size, const transient_t transient,
const external_t external, const std::string& comment);
- ~test_case();
+ virtual ~test_case();
inline unsigned test_case_num() const { return _test_case_num; }
inline u_int32_t num_msgs() const { return _num_msgs; }
Modified: store/trunk/cpp/tests/jrnl/jtt/test_mgr.hpp
===================================================================
--- store/trunk/cpp/tests/jrnl/jtt/test_mgr.hpp 2008-04-24 15:38:31 UTC (rev 1974)
+++ store/trunk/cpp/tests/jrnl/jtt/test_mgr.hpp 2008-04-24 18:21:49 UTC (rev 1975)
@@ -49,7 +49,7 @@
public:
test_mgr(args& args);
- ~test_mgr();
+ virtual ~test_mgr();
void run();
static void signal_handler(int signal);
16 years, 8 months
rhmessaging commits: r1974 - mgmt/cumin/python/cumin.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-04-24 11:38:31 -0400 (Thu, 24 Apr 2008)
New Revision: 1974
Modified:
mgmt/cumin/python/cumin/__init__.py
Log:
Keep going if we can't write to our log file
Modified: mgmt/cumin/python/cumin/__init__.py
===================================================================
--- mgmt/cumin/python/cumin/__init__.py 2008-04-24 15:30:09 UTC (rev 1973)
+++ mgmt/cumin/python/cumin/__init__.py 2008-04-24 15:38:31 UTC (rev 1974)
@@ -175,7 +175,11 @@
h.setLevel(self.debug and logging.DEBUG or logging.ERROR)
root.addHandler(h)
- h = logging.FileHandler(self.log)
+ try:
+ h = logging.FileHandler(self.log)
+ except IOError, e:
+ root.warn("Can't write to log file '%s': %s" % (self.log, e))
+
h.setLevel(self.debug and logging.DEBUG or logging.INFO)
root.addHandler(h)
16 years, 8 months
rhmessaging commits: r1973 - mgmt/cumin/bin.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-04-24 11:30:09 -0400 (Thu, 24 Apr 2008)
New Revision: 1973
Modified:
mgmt/cumin/bin/cumin
mgmt/cumin/bin/cumin-admin
mgmt/cumin/bin/cumin-bench
mgmt/cumin/bin/cumin-test
Log:
Use /usr/bin/python instead of /usr/bin/env python
Modified: mgmt/cumin/bin/cumin
===================================================================
--- mgmt/cumin/bin/cumin 2008-04-24 15:14:40 UTC (rev 1972)
+++ mgmt/cumin/bin/cumin 2008-04-24 15:30:09 UTC (rev 1973)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python
import sys, os, socket, logging
Modified: mgmt/cumin/bin/cumin-admin
===================================================================
--- mgmt/cumin/bin/cumin-admin 2008-04-24 15:14:40 UTC (rev 1972)
+++ mgmt/cumin/bin/cumin-admin 2008-04-24 15:30:09 UTC (rev 1973)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python
import sys, os
from sqlobject import connectionForURI
Modified: mgmt/cumin/bin/cumin-bench
===================================================================
--- mgmt/cumin/bin/cumin-bench 2008-04-24 15:14:40 UTC (rev 1972)
+++ mgmt/cumin/bin/cumin-bench 2008-04-24 15:30:09 UTC (rev 1973)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python
import sys, os
from time import time
Modified: mgmt/cumin/bin/cumin-test
===================================================================
--- mgmt/cumin/bin/cumin-test 2008-04-24 15:14:40 UTC (rev 1972)
+++ mgmt/cumin/bin/cumin-test 2008-04-24 15:30:09 UTC (rev 1973)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python
import sys, os
from time import time
16 years, 8 months
rhmessaging commits: r1972 - in mgmt: mint and 1 other directory.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-04-24 11:14:40 -0400 (Thu, 24 Apr 2008)
New Revision: 1972
Modified:
mgmt/cumin/Makefile
mgmt/mint/Makefile
Log:
Don't attach the version to the doc dir
Modified: mgmt/cumin/Makefile
===================================================================
--- mgmt/cumin/Makefile 2008-04-24 13:43:34 UTC (rev 1971)
+++ mgmt/cumin/Makefile 2008-04-24 15:14:40 UTC (rev 1972)
@@ -3,11 +3,10 @@
include ../etc/Makefile.common
name := cumin
-ver := 0.1
home := ${SHARE_DIR}/${name}
lib := ${PYTHON_LIB_DIR}/${name}
-doc := ${DOC_DIR}/${name}-${ver}
+doc := ${DOC_DIR}/${name}
log := ${VAR_DIR}/log/${name}
build:
Modified: mgmt/mint/Makefile
===================================================================
--- mgmt/mint/Makefile 2008-04-24 13:43:34 UTC (rev 1971)
+++ mgmt/mint/Makefile 2008-04-24 15:14:40 UTC (rev 1972)
@@ -5,11 +5,10 @@
dsn := "postgresql://localhost/"
name := mint
-ver := 0.1
home := ${SHARE_DIR}/${name}
lib := ${PYTHON_LIB_DIR}/${name}
-doc := ${DOC_DIR}/${name}-${ver}
+doc := ${DOC_DIR}/${name}
log := ${VAR_DIR}/log/${name}
build:
16 years, 8 months
rhmessaging commits: r1971 - mgmt.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-04-24 09:43:34 -0400 (Thu, 24 Apr 2008)
New Revision: 1971
Modified:
mgmt/Makefile
Log:
Added a target to make a source tarball.
Remove some targets that weren't much use.
Modified: mgmt/Makefile
===================================================================
--- mgmt/Makefile 2008-04-24 13:07:53 UTC (rev 1970)
+++ mgmt/Makefile 2008-04-24 13:43:34 UTC (rev 1971)
@@ -1,6 +1,6 @@
.PHONY: help dist clean cumin mint tags check-devel-env
-version := 0.1
+version := 0.1.$(shell svn info | fgrep "Revision:" | cut -d " " -f 2)
help:
@echo "Targets:"
@@ -31,12 +31,11 @@
cp LICENSE COPYING dist/doc
tar -cvzf cumin-${version}.tar.gz dist
-cumin: mint
- cd cumin && make install
+source-tarball:
+ svn export . /tmp/cumin-${version}
+ tar -C /tmp -czf cumin-${version}.tar.gz cumin-${version}
+ rm -rf /tmp/cumin-${version}
-mint:
- cd mint && make install
-
clean: check-devel-env
rm -rf dist
rm -rf "${DEVEL_HOME}"/install
16 years, 8 months
rhmessaging commits: r1970 - mgmt/notes.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-04-24 09:07:53 -0400 (Thu, 24 Apr 2008)
New Revision: 1970
Modified:
mgmt/notes/justin-todo.txt
Log:
Reprioritize
Modified: mgmt/notes/justin-todo.txt
===================================================================
--- mgmt/notes/justin-todo.txt 2008-04-23 20:55:45 UTC (rev 1969)
+++ mgmt/notes/justin-todo.txt 2008-04-24 13:07:53 UTC (rev 1970)
@@ -1,19 +1,7 @@
Current
- * Tables: Make null values in tables dashes, not zeroes
-
- * Get rid of single object confirms
-
* Don't let anyone close mgmt clients
- * Put some kind of status on broker
-
- * Make it possible to navigate from broker to system
-
- * Fix the status box updates, to avoid the "/sec" display
-
- * Fix obnoxious HTML resizing bug
-
* Bulk register is failing to forget state on cancel
* client.py:159 calls add_error, which no longer exists
@@ -24,19 +12,25 @@
* Enforce one reg per broker, to avoid confusion
- * Check for per-row querying in BrokerSet
+ * Fix obnoxious HTML resizing bug
- * stat.py:222 min_value is None somehow
+Deferred
+ * Put some kind of status on broker
+
+ * Make it possible to navigate from broker to system
+
* Blow up if someone adds a child with an existing name
- * Handle parameter exceptions
+ * Check for per-row querying in BrokerSet
+ * stat.py:222 min_value is None somehow
+
* Talk about AMQP_SPEC in the readme
- * Fix double login bug
+ * Tables: Make null values in tables dashes, not zeroes
-Deferred
+ * Get rid of single object confirms
* Change the way CuminAction.invoke works
16 years, 8 months
rhmessaging commits: r1969 - in mgmt/mint: sql and 1 other directory.
by rhmessaging-commits@lists.jboss.org
Author: nunofsantos
Date: 2008-04-23 16:55:45 -0400 (Wed, 23 Apr 2008)
New Revision: 1969
Modified:
mgmt/mint/python/mint/__init__.py
mgmt/mint/python/mint/schema.py
mgmt/mint/python/mint/schemaparser.py
mgmt/mint/sql/schema.sql
Log:
handle updated schema; provide access to sessionId
Modified: mgmt/mint/python/mint/__init__.py
===================================================================
--- mgmt/mint/python/mint/__init__.py 2008-04-23 19:31:21 UTC (rev 1968)
+++ mgmt/mint/python/mint/__init__.py 2008-04-23 20:55:45 UTC (rev 1969)
@@ -206,6 +206,12 @@
finally:
self.model.lock.release()
+ def getSessionId(self):
+ if isOpen(self):
+ return self.mchan.sessionId
+ else:
+ return None
+
def callMethod(self, objId, className, methodName, callback, args):
self.model.lock.acquire()
try:
Modified: mgmt/mint/python/mint/schema.py
===================================================================
--- mgmt/mint/python/mint/schema.py 2008-04-23 19:31:21 UTC (rev 1968)
+++ mgmt/mint/python/mint/schema.py 2008-04-23 20:55:45 UTC (rev 1969)
@@ -13,7 +13,7 @@
managedBroker = StringCol(length=1000, default=None)
statsCurr = ForeignKey('SystemStats', cascade='null', default=None)
statsPrev = ForeignKey('SystemStats', cascade='null', default=None)
- sysId = StringCol(length=1000, default=None)
+ sysId = StringCol(default=None)
osName = StringCol(length=1000, default=None)
nodeName = StringCol(length=1000, default=None)
release = StringCol(length=1000, default=None)
@@ -187,6 +187,7 @@
durable = BoolCol(default=None)
autoDelete = BoolCol(default=None)
exclusive = BoolCol(default=None)
+ arguments = StringCol(length=4000, default=None)
classInfos = dict() # brokerId => classInfo
@@ -316,6 +317,7 @@
exchange = ForeignKey('Exchange', cascade='null', default=None)
queue = ForeignKey('Queue', cascade='null', default=None)
bindingKey = StringCol(length=1000, default=None)
+ arguments = StringCol(length=4000, default=None)
classInfos = dict() # brokerId => classInfo
Modified: mgmt/mint/python/mint/schemaparser.py
===================================================================
--- mgmt/mint/python/mint/schemaparser.py 2008-04-23 19:31:21 UTC (rev 1968)
+++ mgmt/mint/python/mint/schemaparser.py 2008-04-23 20:55:45 UTC (rev 1969)
@@ -30,6 +30,7 @@
self.dataTypesMap["absTime"] = self.dataTypesMap["deltaTime"] = "BigIntCol"
self.dataTypesMap["bool"] = "BoolCol"
self.dataTypesMap["sstr"] = self.dataTypesMap["lstr"] = "StringCol"
+ self.dataTypesMap["ftable"] = "StringCol"
def attrNameFromDbColumn(self, name, removeSuffix=""):
return self.style.dbColumnToPythonAttr(name.replace(removeSuffix, ""))
@@ -75,9 +76,11 @@
for elem in elements:
if (elem["@name"].endswith("Ref")):
reference = self.style.dbTableToPythonClass(elem["@name"]).replace("Ref", "")
- attrib = reference[0].lower() + reference[1:]
- self.generateForeignKeyAttrib(attrib, reference)
- self.generateMultipleJoin(reference, self.currentClass)
+ if (reference != "Store"):
+ #FIX
+ attrib = reference[0].lower() + reference[1:]
+ self.generateForeignKeyAttrib(attrib, reference)
+ self.generateMultipleJoin(reference, self.currentClass)
elif (elem["@type"].startswith("hilo")):
self.generateHiLoAttrib(self.attrNameFromDbColumn(elem["@name"]), self.dataTypesMap[elem["@type"]])
elif (elem["@type"].startswith("mma")):
@@ -86,7 +89,7 @@
args = ""
if (elem["@type"] == "sstr"):
args += "length=1000"
- elif (elem["@type"] == "lstr"):
+ elif (elem["@type"] == "lstr" or elem["@type"] == "ftable"):
args += "length=4000"
self.generateAttrib(self.attrNameFromDbColumn(elem["@name"]), self.dataTypesMap[elem["@type"]], args)
Modified: mgmt/mint/sql/schema.sql
===================================================================
--- mgmt/mint/sql/schema.sql 2008-04-23 19:31:21 UTC (rev 1968)
+++ mgmt/mint/sql/schema.sql 2008-04-23 20:55:45 UTC (rev 1969)
@@ -80,7 +80,8 @@
stats_prev_id INT,
exchange_id INT,
queue_id INT,
- binding_key VARCHAR(1000)
+ binding_key VARCHAR(1000),
+ arguments VARCHAR(4000)
);
CREATE TABLE binding_stats (
@@ -315,7 +316,8 @@
name VARCHAR(1000),
durable BOOL,
auto_delete BOOL,
- exclusive BOOL
+ exclusive BOOL,
+ arguments VARCHAR(4000)
);
CREATE TABLE queue_stats (
@@ -403,7 +405,7 @@
managed_broker VARCHAR(1000),
stats_curr_id INT,
stats_prev_id INT,
- sys_id VARCHAR(1000),
+ sys_id TEXT,
os_name VARCHAR(1000),
node_name VARCHAR(1000),
release VARCHAR(1000),
16 years, 8 months