'Verify that recursion is controlled when raise_on_first_error=False and something is wrong with the query.
PYTHON-585'

@mock_session_pools
def test_recursion_limited(self):

    max_recursion = sys.getrecursionlimit()
    s = Session(Cluster(), [Host('127.0.0.1', SimpleConvictionPolicy)])
    self.assertRaises(TypeError, execute_concurrent_with_args, s, "doesn't    matter", ([('param',)] * max_recursion), raise_on_first_error=True)
    results = execute_concurrent_with_args(s, "doesn't    matter", ([('param',)] * max_recursion), raise_on_first_error=False)
    self.assertEqual(len(results), max_recursion)
    for r in results:
        self.assertFalse(r[0])
        self.assertIsInstance(r[1], TypeError)
