Opened 12 years ago
#135 new
GMOCMeasurement.addData() does not throw an error when invoked with bogus column names
Reported by: | chaos@bbn.com | Owned by: | somebody |
---|---|---|---|
Priority: | major | Milestone: | GEC15 demo |
Component: | Clients | Version: | |
Keywords: | v1.1.0 | Cc: | |
Dependencies: |
Description
When this code:
print timevals foam_sliver_state = gmoc.SliverState() for rrd_time in sorted(timevals.keys()): foam_sliver_state.addData(rrd_time, timevals[rrd_time]) print foam_sliver_state._values
is run with correct column names in timevals
, it yields:
{1350524640: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524610: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524580: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524550: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524520: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524745: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524490: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524715: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524685: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524655: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524625: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524595: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524565: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524535: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524505: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524730: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524475: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524700: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}, 1350524670: {'pending': 0.0, 'enabled': 1.0, 'approved': 1.0, 'rejected': 0.0}} [(1350524475, [1.0, 1.0, 0.0, 0.0]), (1350524490, [1.0, 1.0, 0.0, 0.0]), (1350524505, [1.0, 1.0, 0.0, 0.0]), (1350524520, [1.0, 1.0, 0.0, 0.0]), (1350524535, [1.0, 1.0, 0.0, 0.0]), (1350524550, [1.0, 1.0, 0.0, 0.0]), (1350524565, [1.0, 1.0, 0.0, 0.0]), (1350524580, [1.0, 1.0, 0.0, 0.0]), (1350524595, [1.0, 1.0, 0.0, 0.0]), (1350524610, [1.0, 1.0, 0.0, 0.0]), (1350524625, [1.0, 1.0, 0.0, 0.0]), (1350524640, [1.0, 1.0, 0.0, 0.0]), (1350524655, [1.0, 1.0, 0.0, 0.0]), (1350524670, [1.0, 1.0, 0.0, 0.0]), (1350524685, [1.0, 1.0, 0.0, 0.0]), (1350524700, [1.0, 1.0, 0.0, 0.0]), (1350524715, [1.0, 1.0, 0.0, 0.0]), (1350524730, [1.0, 1.0, 0.0, 0.0]), (1350524745, [1.0, 1.0, 0.0, 0.0])]
When the same code is run with bogus column names, it yields:
{1350524640: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524610: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524580: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524805: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524550: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524775: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524520: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524745: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524715: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524685: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524655: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524625: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524595: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524565: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524790: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524535: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524760: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524730: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524700: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}, 1350524670: {'pending_bogus': 0.0, 'rejected_bogus': 0.0, 'approved_bogus': 1.0, 'enabled_bogus': 1.0}} [(1350524520, [None, None, None, None]), (1350524535, [None, None, None, None]), (1350524550, [None, None, None, None]), (1350524565, [None, None, None, None]), (1350524580, [None, None, None, None]), (1350524595, [None, None, None, None]), (1350524610, [None, None, None, None]), (1350524625, [None, None, None, None]), (1350524640, [None, None, None, None]), (1350524655, [None, None, None, None]), (1350524670, [None, None, None, None]), (1350524685, [None, None, None, None]), (1350524700, [None, None, None, None]), (1350524715, [None, None, None, None]), (1350524730, [None, None, None, None]), (1350524745, [None, None, None, None]), (1350524760, [None, None, None, None]), (1350524775, [None, None, None, None]), (1350524790, [None, None, None, None]), (1350524805, [None, None, None, None])]
This is confusing to the aggregate developer: addData()
should throw an error when you give it a hash containing an invalid column name, rather than silently insert empty rows.
Note: See
TracTickets for help on using
tickets.