def _do_not_call_start_session(self, line, cell="", local_ns=None): # Starts a session unless session is already created or a fatal error occurred. Returns True when session is # created successfully. if self.fatal_error: self.ipython_display.send_error(self.fatal_error_message) return False if not self.session_started: skip = False properties = conf.get_session_properties(self.language) try: self.session_started = True self.spark_controller.add_session(self.session_name, self.connection_string, skip, properties) except Exception as e: self.fatal_error = True self.fatal_error_message = conf.fatal_error_suggestion( ).format(e) self.logger.error("Error creating session: {}".format(e)) self.ipython_display.send_error(self.fatal_error_message) return False return self.session_started
def _do_not_call_start_session(self, line, cell="", local_ns=None): # Starts a session unless session is already created or a fatal error occurred. Returns True when session is # created successfully. # No need to add the handle_expected_exceptions decorator to this since we manually catch all # exceptions when starting the session. if self.fatal_error: self.ipython_display.send_error(self.fatal_error_message) return False if not self.session_started: skip = False properties = conf.get_session_properties(self.language) self.session_started = True try: self.spark_controller.add_session(self.session_name, self.endpoint, skip, properties) except Exception as e: self.fatal_error = True self.fatal_error_message = conf.fatal_error_suggestion().format(e) self.logger.error(u"Error creating session: {}".format(e)) self.ipython_display.send_error(self.fatal_error_message) return False return self.session_started
def _do_not_call_start_session(self, line, cell="", local_ns=None): # Starts a session unless session is already created or a fatal error occurred. Returns True when session is # created successfully. # No need to add the handle_expected_exceptions decorator to this since we manually catch all # exceptions when starting the session. if self.fatal_error: self.ipython_display.send_error(self.fatal_error_message) return False if not self.session_started: skip = False properties = conf.get_session_properties(self.language) self.session_started = True try: self.spark_controller.add_session(self.session_name, self.endpoint, skip, properties) except Exception as e: self.fatal_error = True self.fatal_error_message = conf.fatal_error_suggestion( ).format(e) self.logger.error("Error creating session: {}".format(e)) self.ipython_display.send_error(self.fatal_error_message) return False return self.session_started
def test_configuration_initialize(): s = "hello" config = {conf.fatal_error_suggestion.__name__: s} fsrw = MagicMock() fsrw.path = "" read_lines = MagicMock(return_value=[json.dumps(config)]) fsrw.read_lines = read_lines fsrw_class = MagicMock(return_value=fsrw) conf.initialize(fsrw_class) assert conf._overrides is not None assert_equals(conf._overrides, config) assert_equals(conf.fatal_error_suggestion(), s)
def test_configuration_initialize(): s = "hello" config = { conf.fatal_error_suggestion.__name__: s } fsrw = MagicMock() fsrw.path = "" read_lines = MagicMock(return_value=[json.dumps(config)]) fsrw.read_lines = read_lines fsrw_class = MagicMock(return_value=fsrw) conf.initialize(fsrw_class) assert conf._overrides is not None assert_equals(conf._overrides, config) assert_equals(conf.fatal_error_suggestion(), s)
def test_start_session_displays_fatal_error_when_session_throws(): e = ValueError("Failed to create the SqlContext.\nError, '{}'".format("Exception")) magic.spark_controller.add_session = MagicMock(side_effect=e) magic.language = constants.LANG_SCALA magic.ipython_display = ipython_display magic.ipython_display.send_error = MagicMock() magic._do_not_call_start_session("Test Line") magic.spark_controller.add_session.assert_called_once_with(magic.session_name, magic.endpoint, False, {"kind": constants.SESSION_KIND_SPARK}) assert magic.fatal_error assert magic.fatal_error_message == conf.fatal_error_suggestion().format(str(e))
def test_start_session_displays_fatal_error_when_session_throws(): e = ValueError( "Failed to create the SqlContext.\nError, '{}'".format("Exception")) magic.spark_controller.add_session = MagicMock(side_effect=e) magic.language = constants.LANG_SCALA magic.ipython_display = ipython_display magic.ipython_display.send_error = MagicMock() magic._do_not_call_start_session("Test Line") magic.spark_controller.add_session.assert_called_once_with( magic.session_name, magic.endpoint, False, {"kind": constants.SESSION_KIND_SPARK}) assert magic.fatal_error assert magic.fatal_error_message == conf.fatal_error_suggestion().format( str(e))
def _do_not_call_start_session(self, line, cell="", local_ns=None): # Starts a session unless session is already created or a fatal error occurred. Returns True when session is # created successfully. if self.fatal_error: self.ipython_display.send_error(self.fatal_error_message) return False if not self.session_started: skip = False properties = conf.get_session_properties(self.language) try: self.session_started = True self.spark_controller.add_session(self.session_name, self.connection_string, skip, properties) except Exception as e: self.fatal_error = True self.fatal_error_message = conf.fatal_error_suggestion().format(e) self.logger.error("Error creating session: {}".format(e)) self.ipython_display.send_error(self.fatal_error_message) return False return self.session_started
def _repeat_fatal_error(self): """Throws an error that has already been queued.""" error = conf.fatal_error_suggestion().format(self._fatal_error) self.logger.error(error) self.ipython_display.send_error(error) return self._complete_cell()
def _repeat_fatal_error(self): """Throws an error that has already been queued.""" error = conf.fatal_error_suggestion().format(self._fatal_error) self._logger.error(error) self._ipython_display.send_error(error) raise ValueError(self._fatal_error)