@@test.insert([]) raises an exception and :collect_on_error only concerns documents that fail serialization so why wouldn't @@test.insert([], :collect_on_error => true) raise an exception?