"Creating data sets and citing them" difficulties

This may not be a doi plugin issue and may be a "we haven't done something right in ckan" problem, but I'll see what you think...
We currently have 2 existing datasets created before the plugin was added, neither has the "cite this data" button. I'm assuming this is to be expected.
Next, somewhat fundamental, problem... if I then try and add a new data set after adding the doi plugin this happens:

The ckan error log looks like this:
[Wed Mar 25 12:24:52 2015] [error] /usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/orm/unitofwork.py:79: SAWarning: Usage of the 'related attribute set' operation is not currently supported within the execution stage of the flush process. Results may not be consistent.  Consider using alternative event listeners or connection-level operations instead.
[Wed Mar 25 12:24:52 2015] [error]   sess._flush_warning("related attribute set")
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] Error - <type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'endswith'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] URL: http://<removed>/dataset/new
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/weberror/errormiddleware.py', line 162 in __call__
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   app_iter = self.application(environ, sr_checker)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/webob/dec.py', line 147 in __call__
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   resp = self.call_func(req, *args, **self.kwargs)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/webob/dec.py', line 208 in call_func
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   return self.func(req, *args, **kwargs)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/fanstatic/publisher.py', line 234 in __call__
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   return request.get_response(self.app)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/webob/request.py', line 1053 in get_response
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   application, catch_exc_info=False)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/webob/request.py', line 1022 in call_application
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   app_iter = application(self.environ, start_response)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/webob/dec.py', line 147 in __call__
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   resp = self.call_func(req, *args, **self.kwargs)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/webob/dec.py', line 208 in call_func
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   return self.func(req, *args, **kwargs)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/fanstatic/injector.py', line 54 in __call__
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   response = request.get_response(self.app)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/webob/request.py', line 1053 in get_response
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   application, catch_exc_info=False)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/webob/request.py', line 1022 in call_application
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   app_iter = application(self.environ, start_response)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/beaker/middleware.py', line 73 in __call__
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   return self.app(environ, start_response)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/beaker/middleware.py', line 155 in __call__
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   return self.wrap_app(environ, session_start_response)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/routes/middleware.py', line 131 in __call__
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   response = self.app(environ, start_response)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/pylons/wsgiapp.py', line 125 in __call__
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   response = self.dispatch(controller, environ, start_response)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/pylons/wsgiapp.py', line 324 in dispatch
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   return controller(environ, start_response)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/src/ckan/ckan/lib/base.py', line 338 in __call__
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   res = WSGIController.__call__(self, environ, start_response)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/pylons/controllers/core.py', line 221 in __call__
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   response = self._dispatch_call()
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/pylons/controllers/core.py', line 172 in _dispatch_call
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   response = self._inspect_call(func)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/pylons/controllers/core.py', line 107 in _inspect_call
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   result = self._perform_call(func, args)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/lib/python2.7/site-packages/pylons/controllers/core.py', line 60 in _perform_call
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   return func(**args)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/src/ckan/ckan/controllers/package.py', line 535 in new
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   return self._save_new(context, package_type=package_type)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/src/ckan/ckan/controllers/package.py', line 952 in _save_new
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   pkg_dict = get_action('package_create')(context, data_dict)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/src/ckan/ckan/logic/__init__.py', line 424 in wrapped
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   result = _action(context, data_dict, **kw)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/ckan/default/src/ckan/ckan/logic/action/create.py', line 207 in package_create
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   item.after_create(context, data)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/local/lib/python2.7/dist-packages/ckanext_doi-0.2-py2.7.egg/ckanext/doi/plugin.py', line 54 in after_create
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   create_unique_identifier(pkg_dict['id'])
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/local/lib/python2.7/dist-packages/ckanext_doi-0.2-py2.7.egg/ckanext/doi/lib.py', line 33 in create_unique_identifier
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   identifier = os.path.join(get_prefix(), '{0:07}'.format(random.randint(1, 100000)))
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] File '/usr/lib/python2.7/posixpath.py', line 68 in join
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   elif path == '' or path.endswith('/'):
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] AttributeError: 'NoneType' object has no attribute 'endswith'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] CGI Variables
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] -------------
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   AUTH_TYPE: 'cookie'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   CKAN_CURRENT_URL: '/dataset/new'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   CKAN_LANG: 'en'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   CKAN_LANG_IS_DEFAULT: True
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   CONTENT_TYPE: 'application/x-www-form-urlencoded; charset=utf-8'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   DOCUMENT_ROOT: '/etc/apache2/htdocs'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   GATEWAY_INTERFACE: 'CGI/1.1'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   HTTP_ACCEPT: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   HTTP_ACCEPT_ENCODING: 'gzip, deflate'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   HTTP_ACCEPT_LANGUAGE: 'en-US,en;q=0.8,en-GB;q=0.6'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   HTTP_CACHE_CONTROL: 'max-age=0'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   HTTP_CONNECTION: 'close'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   HTTP_COOKIE: 'auth_tkt="7952cf5e11301fd24a7b61e73fc51258550aaa0e<removed>!userid_type:unicode"; ckan=f7e23d8d984755112da64e6297bf6cfefaa07faa275d5ed345c9420a8d8068b8e40fd11b'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   HTTP_HOST: '<removed>'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   HTTP_ORIGIN: 'http://<removed>'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   HTTP_REFERER: 'http://<removed>/dataset/new'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   HTTP_USER_AGENT: 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   PATH_INFO: '/dataset/new'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   PATH_TRANSLATED: '/etc/ckan/default/apache.wsgi/dataset/new'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   REMOTE_ADDR: '<IP_ADDRESS>'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   REMOTE_PORT: '39456'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   REMOTE_USER: u'<removed>'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   REMOTE_USER_DATA: 'userid_type:unicode'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   REMOTE_USER_TOKENS: ['']
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   REQUEST_METHOD: 'POST'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   REQUEST_URI: '/dataset/new'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   SCRIPT_FILENAME: '/etc/ckan/default/apache.wsgi'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   SERVER_ADDR: '<IP_ADDRESS>'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   SERVER_ADMIN: '[no address given]'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   SERVER_NAME: '<removed>'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   SERVER_PORT: '80'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   SERVER_PROTOCOL: 'HTTP/1.0'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   SERVER_SIGNATURE: '<address>Apache/2.2.22 (Ubuntu) Server at <removed> Port 80</address>\\n'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   SERVER_SOFTWARE: 'Apache/2.2.22 (Ubuntu)'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] WSGI Variables
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] --------------
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   application: <fanstatic.publisher.Delegator object at 0x7f421af1cdd0>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   beaker.cache: <beaker.cache.CacheManager object at 0x7f421af1c050>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   beaker.get_session: <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x7f421b54dfd0>>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   beaker.session: {'_accessed_time':<PHONE_NUMBER>.06159, '_creation_time':<PHONE_NUMBER>.204602}
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   fanstatic.needed: <fanstatic.core.NeededResources object at 0x7f421af1c290>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   mod_wsgi.application_group: 'default.ckanhosted.com|'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   mod_wsgi.callable_object: 'application'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   mod_wsgi.handler_script: ''
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   mod_wsgi.input_chunked: '0'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   mod_wsgi.listener_host: ''
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   mod_wsgi.listener_port: '8080'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   mod_wsgi.process_group: 'ckan_default'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   mod_wsgi.request_handler: 'wsgi-script'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   mod_wsgi.script_reloading: '1'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   mod_wsgi.version: (3, 3)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   paste.cookies: (<SimpleCookie: auth_tkt='7952cf5e11301fd24a7b61e73fc51258550aaa0e<removed>!userid_type:unicode' ckan='f7e23d8d984755112da64e6297bf6cfefaa07faa275d5ed345c9420a8d8068b8e40fd11b'>, 'auth_tkt="7952cf5e11301fd24a7b61e73fc51258550aaa0e<removed>!userid_type:unicode"; ckan=f7e23d8d984755112da64e6297bf6cfefaa07faa275d5ed345c9420a8d8068b8e40fd11b')
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   paste.registry: <paste.registry.Registry object at 0x7f421b2f8490>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   paste.throw_errors: True
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   pylons.action_method: <bound method PackageController.new of <ckan.controllers.package.PackageController object at 0x7f421ae10f90>>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   pylons.controller: <ckan.controllers.package.PackageController object at 0x7f421ae10f90>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   pylons.environ_config: {'session': 'beaker.session', 'cache': 'beaker.cache'}
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   pylons.pylons: <pylons.util.PylonsContext object at 0x7f421af21450>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   pylons.routes_dict: {'action': u'new', 'controller': u'package'}
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   repoze.who.api: <repoze.who.api.API object at 0x7f421b2f3410>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   repoze.who.identity: <repoze.who identity (hidden, dict-like) at<PHONE_NUMBER>57488>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   repoze.who.logger: <logging.Logger object at 0x7f421af1ce50>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   repoze.who.plugins: {'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f421b2f8b50>, 'friendlyform': <FriendlyFormPlugin<PHONE_NUMBER>67664>, 'auth_tkt': <CkanAuthTktCookiePlugin<PHONE_NUMBER>67600>}
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   routes.route: <routes.route.Route object at 0x7f421b403150>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   routes.url: <routes.util.URLGenerator object at 0x7f421af21490>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   webob._parsed_post_vars: (MultiDict([('_ckan_phase', 'dataset_new_1'), ('pkg_name', ''), ('title', 'testing'), ('name', 'testing'), ('notes', 'blah'), ('tag_string', ''), ('license_id', 'notspecified'), ('url', 'dfgdfg'), ('version', 'dg'), ('author', 'dfg'), ('author_email', 'dfgdf'), ('maintainer', 'dgffd'), ('maintainer_email', 'dfgfd'), ('extras__0__key', ''), ('extras__0__value', ''), ('extras__1__key', ''), ('extras__1__value', ''), ('extras__2__key', ''), ('extras__2__value', ''), ('save', '')]), <FakeCGIBody at 0x7f421af1c850 viewing MultiDict([('_c...'')])>)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   webob._parsed_query_vars: (GET([]), '')
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   webob.adhoc_attrs: {'errors': 'ignore', 'response': <Response at 0x7f421af1c150 200 OK>, 'language': 'en-us'}
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   webob.is_body_readable: True
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   webob.is_body_seekable: False
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   wsgi process: 'Multi process AND threads (?)'
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   wsgi.file_wrapper: <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f421b2f4300>
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   wsgi.version: (1, 1)
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>]   wsgiorg.routing_args: (<routes.util.URLGenerator object at 0x7f421af21490>, {'action': u'new', 'controller': u'package'})
[Wed Mar 25 12:24:52 2015] [error] [client <IP_ADDRESS>] ------------------------------------------------------------
[Wed Mar 25 12:24:52 2015] [error] 2015-03-25 12:24:52,830 INFO  [ckan.lib.base]  /dataset/new render time 0.762 seconds
[Wed Mar 25 12:24:52 2015] [error] 2015-03-25 12:24:52,958 INFO  [ckan.lib.base]  /api/i18n/en render time 0.001 seconds

The closest I can find to something referencing this is: https://github.com/ckan/ckan/issues/2017, but have no idea what it means?

It looks like this is down to the setting ckanext.doi.test_mode not being set (and then the os.path.join function fails as it's trying to join None as a string).
I've pushed a fix so test_mode now defaults to True unless it's explicitly set.

hmm, that's odd, 'cos according to the production.ini we have the setting
ckanext.doi.test_mode = True

That error would suggest either the datacite settings are wrong, or you don't have permission to create test DOIs. Has your test account been activated by datacite?

Yeah, let me triple check the settings. The other thing that has me wondering is "are the ckan,doi settings in production.ini being picked up?",

Yep, those settings all look correct - they don't need quoting or anything. And the DataCite/British Library have definitely set you on on their sandbox system? What happens when you try this from the site running as a paste command: e.g.: paster serve [path]/production.ini.

Traceback (most recent call last):
  File "/usr/bin/paster", line 4, in <module>
    command.run()
  File "/usr/lib/python2.7/dist-packages/paste/script/command.py", line 104, in run
    invoke(command, command_name, options, args[1:])
  File "/usr/lib/python2.7/dist-packages/paste/script/command.py", line 143, in invoke
    exit_code = runner.run(args)
  File "/usr/lib/python2.7/dist-packages/paste/script/command.py", line 238, in run
    result = self.command()
  File "/usr/lib/python2.7/dist-packages/paste/script/serve.py", line 284, in command
    relative_to=base, global_conf=vars)
  File "/usr/lib/python2.7/dist-packages/paste/script/serve.py", line 321, in loadapp
    **kw)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
    return loadobj(APP, uri, name=name, **kw)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 320, in _loadconfig
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 454, in get_context
    section)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 476, in _context_from_use
    object_type, name=use, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 406, in get_context
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 328, in _loadegg
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 620, in get_context
    object_type, name=name)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 640, in find_egg_entry_point
    pkg_resources.require(self.spec)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 686, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: ckan

Hmmm, looks like something very fundamentally wrong... but our ckan front end is working ok???

Do you get the same error with the DOI module disabled?

If by disable you mean remove doi from the "ckan.plugins = ...." and comment all the ckanext.doi entries and restart the service?... (I assume that'll do it)
Then yes, same error :(
Am I understanding this correctly that paster thinks there isn't a ckan instance??!?!

Ok, we've gotten a little further, it would seem the paster error was due to us not doing this:
http://docs.ckan.org/en/latest/maintaining/paster.html?highlight=paster
. /usr/lib/ckan/default/bin/activate
cd /usr/lib/ckan/default/src/ckan

We could then get the paster command to successfully serve ckan without error.
Next, we tried adding a data set again, we stepped through as before and it borked at the same point with an "Internal Server Error", we noticed in the logs some "permission denied"s, so we re-ran the paster command as "sudo -u www-data" and changed some of the chown settings on the filesystem.
We then stepped through again, and still received the "Internal Server Error" after submitting the "Add data" page, this time the logs showed no errors! Which has us really confused, perhaps there is a silent error being caught by the plugin?

Could you paste the traceback error please, and I'll look into it.

That seems to be the problem, there isn't one!
Let me just run through what I did again and see if I can get an error to pop out in the logs, last couple of times I tried I could get an "Internal Server Error" on the browser interface, but nothing when tailing the ckan logs.

Ah, ok "this" time it wants to print something in the logs... basically it's the same 401 unauthorized as last time. grrrr. I'm fairly certain it's "something" to do with the datacite auth data I'm putting in to the ini file as I can get our test datacite account to work fine using SOAPUI.

OK, I'm chipping away at this. So I've discovered the difference between running CKAN in apache and running it in paster... so this is all a bit like node (which I have more knowledge of).
So, I've managed to get CKAN running in a debug mode using "paster serve", now it seems to me that if I can just scatter the doi plugin code with log.debug()'s I should be able to work out what's going on (why specifically I'm getting a 401).... problem is, it would appear I need a main.debug.css setting up (http://stackoverflow.com/questions/13480800/ckan-development-install-issue-attributeerror-module-object-has-no-attribute http://docs.ckan.org/en/ckan-2.0.2/frontend-development.html) using ./bin/less, but running this command returns an error:
Watching /usr/lib/ckan/default/src/ckan/ckan/public/base/less
An error occurred running the less command:
Command failed: NameError: #grid > .core > .span is undefined in /usr/lib/ckan/default/src/ckan/ckan/public/base/vendor/bootstrap/less/navbar.less on line 199, column 3:
198 .navbar-fixed-bottom .container {
199   #grid > .core > .span(@gridColumns);
200 }

I can only find some references to this (https://github.com/twbs/bootstrap/issues/2516), but not a good solution yet :(

AH HAAAA!
account_name	None
account_password	None
endpoint	'https://test.datacite.org/mds/metadata'
kwargs	{'auth': (None, None), 'data': u'<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema- ...
method	'post'
r	<Response [401]>
self	<ckanext.doi.api.MetadataDataCiteAPI object at 0x7f3e44066c90>

It "does" indeed look like the settings for account/password are not getting through to the plugin???

Just following the above through, I have my username and password set in the development.ini's ckanext.doi.account_name and ckanext.doi.account_password, on line's 23 and 24 of api.py in the DataCiteAPI class I can see the config string's being pulled into variables and then at line 40 pulled into a kwarg dict under the name "auth".
You can then see from my traceback (see above message) at line 46 of ckanext.doi.api on the line "r.raise_for_status()" the contents of kwarg's "auth" is (None,None).
Either I'm doing something wrong, or the plugin is not managing to pull my user and password from the .ini???

Did you get any further with this? (Apologies for not getting back sooner, I was off last week - but I'll have a look into it now).

Hi Ben, kinda assumed you were busy or something ;)
No, this was as far as I had managed, it seems as if the settings in the ini are not propogating through to the plugin... but I'm very willing to be told that I've done something daft! I just can't figure it out.

Just to let you know I am working on this, and am in the process of writing some tests to help get to the bottom of this.  Should have something ready for the end of today.

:thumbsup:

Any progress?

Yep, I have created branch test-21 with the tests. If you could switch to that and run the tests it might clear up where the error lies.  That branch isn't production ready yet btw - I needed to refactor the code a bit and am testing everything now.

Cool, I'll give it a go...

OK, I "think" I've done this right, I've used nosetests and I got a couple of sorts of output related to the doi plugin, firstly "missing data field" and "key error" errors (key errors just seem to flag on "author" and "title". I'm assuming this is testing against old/bad data that was probably made before the plugin(?):
Traceback (most recent call last):
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/lib/ckan/default/src/ckan/ckan/new_tests/controllers/test_package.py", line 84, in test_complete_package_with_one_resource
    submit_and_follow(app, form, env, 'save', 'go-metadata')
  File "/usr/lib/ckan/default/src/ckan/ckan/new_tests/helpers.py", line 208, in submit_and_follow
    extra_environ=extra_environ, **args)
  File "/usr/lib/ckan/default/src/ckan/ckan/new_tests/helpers.py", line 229, in webtest_submit
    params=fields, **args)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webtest/app.py", line 369, in goto
    return method(href, **args)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webtest/app.py", line 838, in post
    content_type=content_type)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webtest/app.py", line 810, in _gen_request
    expect_errors=expect_errors)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webtest/app.py", line 1102, in do_request
    res = req.get_response(app, catch_exc_info=True)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webob/request.py", line 1049, in get_response
    application, catch_exc_info=True)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webob/request.py", line 1022, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webtest/lint.py", line 179, in lint_app
    iterator = application(environ, start_response_wrapper)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/cascade.py", line 130, in __call__
    return self.apps[-1](environ, start_response)
  File "/usr/lib/ckan/default/src/ckan/ckan/config/middleware.py", line 226, in __call__
    return self.app(environ, start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/registry.py", line 379, in __call__
    app_iter = self.application(environ, start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/repoze/who/middleware.py", line 64, in __call__
    return self.app(environ, start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pylons/middleware.py", line 201, in __call__
    self.app, environ, catch_exc_info=True)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pylons/util.py", line 94, in call_wsgi_application
    app_iter = application(environ, start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/weberror/evalexception.py", line 235, in __call__
    return self.respond(environ, start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/weberror/evalexception.py", line 418, in respond
    return self.application(environ, start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webob/dec.py", line 147, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webob/dec.py", line 208, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/fanstatic/publisher.py", line 234, in __call__
    return request.get_response(self.app)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webob/request.py", line 1053, in get_response
    application, catch_exc_info=False)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webob/request.py", line 1022, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webob/dec.py", line 147, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webob/dec.py", line 208, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/fanstatic/injector.py", line 54, in __call__
    response = request.get_response(self.app)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webob/request.py", line 1053, in get_response
    application, catch_exc_info=False)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/webob/request.py", line 1022, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/beaker/middleware.py", line 73, in __call__
    return self.app(environ, start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/beaker/middleware.py", line 155, in __call__
    return self.wrap_app(environ, session_start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/routes/middleware.py", line 131, in __call__
    response = self.app(environ, start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pylons/wsgiapp.py", line 125, in __call__
    response = self.dispatch(controller, environ, start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pylons/wsgiapp.py", line 324, in dispatch
    return controller(environ, start_response)
  File "/usr/lib/ckan/default/src/ckan/ckan/lib/base.py", line 338, in __call__
    res = WSGIController.__call__(self, environ, start_response)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pylons/controllers/core.py", line 221, in __call__
    response = self._dispatch_call()
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pylons/controllers/core.py", line 172, in _dispatch_call
    response = self._inspect_call(func)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pylons/controllers/core.py", line 107, in _inspect_call
    result = self._perform_call(func, args)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pylons/controllers/core.py", line 60, in _perform_call
    return func(**args)
  File "/usr/lib/ckan/default/src/ckan/ckan/controllers/package.py", line 723, in new_resource
    dict(data_dict, state='active'))
  File "/usr/lib/ckan/default/src/ckan/ckan/logic/__init__.py", line 424, in wrapped
    result = _action(context, data_dict, **kw)
  File "/usr/lib/ckan/default/src/ckan/ckan/logic/action/update.py", line 361, in package_update
    item.after_update(context, data)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/ckanext/doi/plugin.py", line 92, in after_update
    self.validate_metadata(metadata_dict)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/ckanext/doi/plugin.py", line 194, in validate_metadata
    raise DOIMetadataException('Missing DataCite required field %s' % field)
DOIMetadataException: Missing DataCite required field creator

Traceback (most recent call last):
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/lib/ckan/default/src/ckan/ckan/new_tests/controllers/test_package.py", line 350, in test_existent_resource_view_page_returns_ok_code
    resource_view = factories.ResourceView()
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/factory/base.py", line 80, in __call__
    return cls.create(**kwargs)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/factory/base.py", line 452, in create
    attrs = cls.attributes(create=True, extra=kwargs)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/factory/base.py", line 316, in attributes
    force_sequence=force_sequence,
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/factory/containers.py", line 281, in build
    return stub.__fill__()
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/factory/containers.py", line 83, in __fill__
    res[attr] = getattr(self, attr)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/factory/containers.py", line 105, in __getattr__
    val = val.evaluate(self, self.__containers)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/factory/containers.py", line 214, in evaluate
    containers=containers,
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/factory/declarations.py", line 75, in evaluate
    return self.function(obj)
  File "/usr/lib/ckan/default/src/ckan/ckan/new_tests/factories.py", line 180, in <lambda>
    resource_id = factory.LazyAttribute(lambda _: Resource()['id'])
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/factory/base.py", line 80, in __call__
    return cls.create(**kwargs)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/factory/base.py", line 453, in create
    return cls._generate(True, attrs)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/factory/base.py", line 378, in _generate
    obj = cls._prepare(create, **attrs)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/factory/base.py", line 358, in _prepare
    return cls._create(target_class, *args, **kwargs)
  File "/usr/lib/ckan/default/src/ckan/ckan/new_tests/factories.py", line 151, in _create
    **kwargs)
  File "/usr/lib/ckan/default/src/ckan/ckan/new_tests/helpers.py", line 105, in call_action
    return logic.get_action(action_name)(context=context, data_dict=kwargs)
  File "/usr/lib/ckan/default/src/ckan/ckan/logic/__init__.py", line 424, in wrapped
    result = _action(context, data_dict, **kw)
  File "/usr/lib/ckan/default/src/ckan/ckan/logic/action/create.py", line 302, in resource_create
    _get_action('package_update')(context, pkg_dict)
  File "/usr/lib/ckan/default/src/ckan/ckan/logic/__init__.py", line 424, in wrapped
    result = _action(context, data_dict, **kw)
  File "/usr/lib/ckan/default/src/ckan/ckan/logic/action/update.py", line 361, in package_update
    item.after_update(context, data)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/ckanext/doi/plugin.py", line 87, in after_update
    metadata_dict = self.build_metadata(pkg_dict, doi)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/ckanext/doi/plugin.py", line 126, in build_metadata
    'creator': pkg_dict['author'],
KeyError: 'author'

Secondly, syntax errors:
------------------------------------------------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/migration/versions/002_delete-doi-created-column.py
------------------------------------------------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/migration/versions/002_delete-doi-created-column.py ln:1 import *
	from sqlalchemy import *

ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/migration/versions/002_delete-doi-created-column.py ln:2 import *
	from migrate import *

---------------------------------------------------------------------------
ckanext/doi/ckanext/doi/migration/versions/002_delete-doi-created-column.py
---------------------------------------------------------------------------
ckanext/doi/ckanext/doi/migration/versions/002_delete-doi-created-column.py ln:1 import *
	from sqlalchemy import *

ckanext/doi/ckanext/doi/migration/versions/002_delete-doi-created-column.py ln:2 import *
	from migrate import *

Failing Files:
==============
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/migration/versions/002_delete-doi-created-column.py
ckanext/doi/ckanext/doi/migration/versions/002_delete-doi-created-column.py

======================================================================
ERROR: ckan.tests.test_coding_standards.TestPep8.test_pep8_fails
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/lib/ckan/default/src/ckan/ckan/tests/test_coding_standards.py", line 690, in test_pep8_fails
    show_fails(msg, self.fails)
  File "/usr/lib/ckan/default/src/ckan/ckan/tests/test_coding_standards.py", line 61, in show_fails
    raise Exception('\n'.join(msg))
Exception:
The following files have pep8 issues that need resolving
They need removing from the test blacklist

-------------------------------------------------------------------------------
ckanext/doi/ckanext/doi/migration/versions/001_add-doi-published-date-column.py
-------------------------------------------------------------------------------
E124 ln:8 closing bracket does not match visual indentation
E124 ln:14 closing bracket does not match visual indentation
E302 ln:16 expected 2 blank lines, found 1

------------------------------
ckanext/doi/ckanext/doi/exc.py
------------------------------
E302 ln:8 expected 2 blank lines, found 1
W292 ln:12 no newline at end of file

---------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/lib.py
---------------------------------------------------------
E501 ln:31 line too long (85 > 79 characters)
E501 ln:32 line too long (82 > 79 characters)
E501 ln:40 line too long (91 > 79 characters)
E501 ln:87 line too long (82 > 79 characters)
E501 ln:91 line too long (144 > 79 characters)
E501 ln:93 line too long (86 > 79 characters)
E225 ln:107 missing whitespace around operator
E501 ln:127 line too long (82 > 79 characters)
E501 ln:141 line too long (93 > 79 characters)
E501 ln:147 line too long (84 > 79 characters)
E501 ln:153 line too long (83 > 79 characters)
E501 ln:156 line too long (128 > 79 characters)
E501 ln:175 line too long (81 > 79 characters)
E501 ln:179 line too long (143 > 79 characters)
E501 ln:192 line too long (86 > 79 characters)
E501 ln:201 line too long (84 > 79 characters)
W292 ln:201 no newline at end of file

------------------------------
ckanext/doi/ckanext/doi/api.py
------------------------------
E302 ln:16 expected 2 blank lines, found 1
E501 ln:45 line too long (80 > 79 characters)
E501 ln:59 line too long (83 > 79 characters)
E501 ln:61 line too long (81 > 79 characters)
E501 ln:66 line too long (89 > 79 characters)
E501 ln:68 line too long (84 > 79 characters)
E501 ln:72 line too long (148 > 79 characters)
E501 ln:73 line too long (116 > 79 characters)
E501 ln:74 line too long (95 > 79 characters)
E501 ln:106 line too long (131 > 79 characters)
E501 ln:112 line too long (108 > 79 characters)
E501 ln:176 line too long (86 > 79 characters)
E501 ln:179 line too long (93 > 79 characters)
E501 ln:183 line too long (99 > 79 characters)
E501 ln:184 line too long (92 > 79 characters)
E501 ln:185 line too long (86 > 79 characters)
E501 ln:190 line too long (88 > 79 characters)
E501 ln:220 line too long (118 > 79 characters)
E501 ln:227 line too long (289 > 79 characters)
E302 ln:242 expected 2 blank lines, found 1
W391 ln:247 blank line at end of file

-----------------------------------------
ckanext/doi/ckanext/doi/tests/test_doi.py
-----------------------------------------
E302 ln:21 expected 2 blank lines, found 1
W391 ln:144 blank line at end of file

----------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/interfaces.py
----------------------------------------------------------------
E302 ln:3 expected 2 blank lines, found 1
W292 ln:15 no newline at end of file

---------------------------------
ckanext/doi/ckanext/doi/plugin.py
---------------------------------
E501 ln:9 line too long (135 > 79 characters)
E302 ln:16 expected 2 blank lines, found 1
E501 ln:42 line too long (109 > 79 characters)
E501 ln:53 line too long (93 > 79 characters)
E501 ln:59 line too long (85 > 79 characters)
E501 ln:60 line too long (94 > 79 characters)
E501 ln:64 line too long (91 > 79 characters)
E501 ln:65 line too long (83 > 79 characters)
E501 ln:67 line too long (86 > 79 characters)
E501 ln:74 line too long (93 > 79 characters)
E501 ln:82 line too long (87 > 79 characters)
E501 ln:83 line too long (80 > 79 characters)
E501 ln:84 line too long (88 > 79 characters)
E501 ln:90 line too long (92 > 79 characters)
E501 ln:91 line too long (82 > 79 characters)
E501 ln:101 line too long (83 > 79 characters)
W292 ln:126 no newline at end of file

--------------------
ckanext/doi/setup.py
--------------------
W191 ln:6 indentation contains tabs
W191 ln:7 indentation contains tabs
W191 ln:8 indentation contains tabs
W191 ln:9 indentation contains tabs
W191 ln:10 indentation contains tabs
W191 ln:11 indentation contains tabs
W191 ln:12 indentation contains tabs
W191 ln:13 indentation contains tabs
W191 ln:14 indentation contains tabs
E101 ln:15 indentation contains mixed spaces and tabs
E101 ln:16 indentation contains mixed spaces and tabs
W191 ln:17 indentation contains tabs
W191 ln:18 indentation contains tabs
W191 ln:19 indentation contains tabs
W191 ln:20 indentation contains tabs
W191 ln:21 indentation contains tabs
E101 ln:22 indentation contains mixed spaces and tabs
E101 ln:23 indentation contains mixed spaces and tabs
W191 ln:23 indentation contains tabs
E101 ln:25 indentation contains mixed spaces and tabs
E101 ln:26 indentation contains mixed spaces and tabs
W191 ln:27 indentation contains tabs
W292 ln:28 no newline at end of file

----------------------------------
ckanext/doi/ckanext/doi/helpers.py
----------------------------------
E302 ln:12 expected 2 blank lines, found 1
E501 ln:19 line too long (81 > 79 characters)
W391 ln:26 blank line at end of file

-----------------------------------------
ckanext/doi/ckanext/doi/model/__init__.py
-----------------------------------------
W391 ln:18 blank line at end of file

--------------------------------------------
ckanext/doi/ckanext/doi/commands/__init__.py
--------------------------------------------
W391 ln:18 blank line at end of file

--------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/__init__.py
--------------------------------------------------------------
W292 ln:7 no newline at end of file

------------------------------
ckanext/doi/ckanext/doi/lib.py
------------------------------
E501 ln:31 line too long (85 > 79 characters)
E501 ln:32 line too long (82 > 79 characters)
E501 ln:40 line too long (91 > 79 characters)
E501 ln:87 line too long (82 > 79 characters)
E501 ln:91 line too long (144 > 79 characters)
E501 ln:93 line too long (86 > 79 characters)
E225 ln:107 missing whitespace around operator
E501 ln:127 line too long (82 > 79 characters)
E501 ln:141 line too long (93 > 79 characters)
E501 ln:147 line too long (84 > 79 characters)
E501 ln:153 line too long (83 > 79 characters)
E501 ln:156 line too long (128 > 79 characters)
E501 ln:175 line too long (81 > 79 characters)
E501 ln:179 line too long (143 > 79 characters)
E501 ln:192 line too long (86 > 79 characters)
E501 ln:201 line too long (84 > 79 characters)
W292 ln:201 no newline at end of file

-----------------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/commands/__init__.py
-----------------------------------------------------------------------
W391 ln:18 blank line at end of file

-----------------------------------
ckanext/doi/ckanext/doi/__init__.py
-----------------------------------
W292 ln:7 no newline at end of file

--------------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/model/__init__.py
--------------------------------------------------------------------
W391 ln:18 blank line at end of file

------------------------------------------------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/migration/versions/002_delete-doi-created-column.py
------------------------------------------------------------------------------------------------------
E302 ln:9 expected 2 blank lines, found 1

---------------------------------------
ckanext/doi/ckanext/doi/commands/doi.py
---------------------------------------
E302 ln:11 expected 2 blank lines, found 1
E501 ln:45 line too long (113 > 79 characters)
W292 ln:59 no newline at end of file

---------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/model/doi.py
---------------------------------------------------------------
E501 ln:18 line too long (153 > 79 characters)
E501 ln:19 line too long (107 > 79 characters)
E124 ln:20 closing bracket does not match visual indentation
E302 ln:22 expected 2 blank lines, found 1
E124 ln:33 closing bracket does not match visual indentation
W391 ln:38 blank line at end of file

---------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/exc.py
---------------------------------------------------------
E302 ln:8 expected 2 blank lines, found 1
W292 ln:12 no newline at end of file

------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/plugin.py
------------------------------------------------------------
E501 ln:9 line too long (135 > 79 characters)
E302 ln:16 expected 2 blank lines, found 1
E501 ln:42 line too long (109 > 79 characters)
E501 ln:53 line too long (93 > 79 characters)
E501 ln:59 line too long (85 > 79 characters)
E501 ln:60 line too long (94 > 79 characters)
E501 ln:64 line too long (91 > 79 characters)
E501 ln:65 line too long (83 > 79 characters)
E501 ln:67 line too long (86 > 79 characters)
E501 ln:74 line too long (93 > 79 characters)
E501 ln:82 line too long (87 > 79 characters)
E501 ln:83 line too long (80 > 79 characters)
E501 ln:84 line too long (88 > 79 characters)
E501 ln:90 line too long (92 > 79 characters)
E501 ln:91 line too long (82 > 79 characters)
E501 ln:101 line too long (83 > 79 characters)
W292 ln:126 no newline at end of file

-------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/helpers.py
-------------------------------------------------------------
E302 ln:12 expected 2 blank lines, found 1
E501 ln:19 line too long (81 > 79 characters)
W391 ln:26 blank line at end of file

---------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/api.py
---------------------------------------------------------
E302 ln:16 expected 2 blank lines, found 1
E501 ln:45 line too long (80 > 79 characters)
E501 ln:59 line too long (83 > 79 characters)
E501 ln:61 line too long (81 > 79 characters)
E501 ln:66 line too long (89 > 79 characters)
E501 ln:68 line too long (84 > 79 characters)
E501 ln:72 line too long (148 > 79 characters)
E501 ln:73 line too long (116 > 79 characters)
E501 ln:74 line too long (95 > 79 characters)
E501 ln:106 line too long (131 > 79 characters)
E501 ln:112 line too long (108 > 79 characters)
E501 ln:176 line too long (86 > 79 characters)
E501 ln:179 line too long (93 > 79 characters)
E501 ln:183 line too long (99 > 79 characters)
E501 ln:184 line too long (92 > 79 characters)
E501 ln:185 line too long (86 > 79 characters)
E501 ln:190 line too long (88 > 79 characters)
E501 ln:220 line too long (118 > 79 characters)
E501 ln:227 line too long (289 > 79 characters)
E302 ln:242 expected 2 blank lines, found 1
W391 ln:247 blank line at end of file

--------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/datacite.py
--------------------------------------------------------------
W292 ln:40 no newline at end of file

------------------------------------
ckanext/doi/ckanext/doi/model/doi.py
------------------------------------
E501 ln:18 line too long (153 > 79 characters)
E501 ln:19 line too long (107 > 79 characters)
E124 ln:20 closing bracket does not match visual indentation
E302 ln:22 expected 2 blank lines, found 1
E124 ln:33 closing bracket does not match visual indentation
W391 ln:38 blank line at end of file

-------------------------------------
ckanext/doi/ckanext/doi/model/repo.py
-------------------------------------
E501 ln:28 line too long (84 > 79 characters)
E501 ln:29 line too long (81 > 79 characters)
E501 ln:30 line too long (83 > 79 characters)
E501 ln:32 line too long (94 > 79 characters)
E128 ln:42 continuation line under-indented for visual indent
W292 ln:44 no newline at end of file

------------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/commands/doi.py
------------------------------------------------------------------
E302 ln:11 expected 2 blank lines, found 1
E501 ln:45 line too long (113 > 79 characters)
W292 ln:59 no newline at end of file

----------------------------------------------------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/migration/versions/001_add-doi-published-date-column.py
----------------------------------------------------------------------------------------------------------
E124 ln:8 closing bracket does not match visual indentation
E124 ln:14 closing bracket does not match visual indentation
E302 ln:16 expected 2 blank lines, found 1

-------------------------------------
ckanext/doi/ckanext/doi/interfaces.py
-------------------------------------
E302 ln:3 expected 2 blank lines, found 1
W292 ln:15 no newline at end of file

---------------------------------------------------------------------------
ckanext/doi/ckanext/doi/migration/versions/002_delete-doi-created-column.py
---------------------------------------------------------------------------
E302 ln:9 expected 2 blank lines, found 1

----------------------------------------------------------------
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/model/repo.py
----------------------------------------------------------------
E501 ln:28 line too long (84 > 79 characters)
E501 ln:29 line too long (81 > 79 characters)
E501 ln:30 line too long (83 > 79 characters)
E501 ln:32 line too long (94 > 79 characters)
E128 ln:42 continuation line under-indented for visual indent
W292 ln:44 no newline at end of file

-----------------------------------
ckanext/doi/ckanext/doi/datacite.py
-----------------------------------
W292 ln:40 no newline at end of file

Failing Files:
==============
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/__init__.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/api.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/commands/__init__.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/commands/doi.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/datacite.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/exc.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/helpers.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/interfaces.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/lib.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/migration/versions/001_add-doi-published-date-column.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/migration/versions/002_delete-doi-created-column.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/model/__init__.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/model/doi.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/model/repo.py
ckanext/doi/build/lib.linux-x86_64-2.7/ckanext/doi/plugin.py
ckanext/doi/ckanext/doi/__init__.py
ckanext/doi/ckanext/doi/api.py
ckanext/doi/ckanext/doi/commands/__init__.py
ckanext/doi/ckanext/doi/commands/doi.py
ckanext/doi/ckanext/doi/datacite.py
ckanext/doi/ckanext/doi/exc.py
ckanext/doi/ckanext/doi/helpers.py
ckanext/doi/ckanext/doi/interfaces.py
ckanext/doi/ckanext/doi/lib.py
ckanext/doi/ckanext/doi/migration/versions/001_add-doi-published-date-column.py
ckanext/doi/ckanext/doi/migration/versions/002_delete-doi-created-column.py
ckanext/doi/ckanext/doi/model/__init__.py
ckanext/doi/ckanext/doi/model/doi.py
ckanext/doi/ckanext/doi/model/repo.py
ckanext/doi/ckanext/doi/plugin.py
ckanext/doi/ckanext/doi/tests/test_doi.py
ckanext/doi/setup.py

Those errors are being thrown by the test datasets being created by the core CKAN test suite.  They don't have author field populated, so the DOI module raise a metadata exception.  That's a bigger problem, and I'll need to make some changes to the module to fix that. I've raised a separate issue for that #23.
If you run just the DOI tests (passing in ckanext.doi) what results do you get?  BTW the DataCite test api seems to be failing on DOI creation at the moment (see #22), but we should be able to tell if the username / password go through correctly.

I saw the new tickets, I seem to be digging up other stuff for you that I didn't intend :-/
The problem with specifiying the ckanext.doi parameter is I'm not sure if I'm doing it right. I'm trying from the root of the ckan instance and specifiying my development.ini, returns this:
----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

Specifying development.ini and going into the ckanext directory, returns the same.
Specifying test-core.ini from the ckan instance's root, returns the same.
Specifying test-core.ini from the ckan instance's root whilst in the ckanext directory, returns the same.
I would assume that maybe all the tests are passing, but the output suggests it's simply not running any tests???

Can you try running it again from the DOI tests directory, with the command:
nosetests -s --ckan --with-pylons=[path to]test-core.ini ckanext.doi

Same :(
----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

I tried with the test-core.ini and my development.ini from within the /usr/lib/ckan/default/src/ckan/ckanext/doi/ckanext/doi/tests directory


Add support for non-fatal pipe run status messages

Connectors should be able to return an optional single status message for each processed data set. Two types of messages will be supported (informational and error) and displayed in the monitoring UI.

Delivered by #53


Fix for loading existing footnotes

Fix the selector used to detect existing footnotes in an HTML document.
I verified that, with this fix, the documents correctly load into Tiptap with the footnote functionality enabled.

Fixes #6

Unfortunately, tiptap has some non-trivial problems with happydom + testing, so I'm gonna have to time out on my grand plans of having a regression test (https://github.com/ueberdosis/tiptap/discussions/4008). Merging!


Publish to open-vsx fails

Bug description
Publishing to open-vsx currently fails with The server responded with status 413: Request Entity Too Large.
How to reproduce
https://github.com/prisma/language-tools/runs/1563398173?check_suite_focus=true
Issue at Eclipse: https://github.com/eclipse/openvsx/issues/219

this is fixed


Seeing error "Message discarded for not matching declared type" after updating to freedom-for-chrome v0.2.0 (freedom v0.5.0)

We are seeing the error "Message discarded for not matching declared type" after updating to freedom-for-chrome v0.2.0 (freedom v0.5.0).  This is seen both after logging into GTalk, and when proxying.  As far as we can tell, this is not breaking any functionality, as GTalk and proxying both still work.
This was also seen in the standalone socks-rtc repo.

I guess we haven't seen this?


Pass boolean properties to Redpanda configuration

fixes #470

https://github.com/redpanda-data/helm-charts/actions/runs/4829528122/jobs/8604675668
Dedicated test that should be run only in origin not in fork is correctly detected by Github Action and it is cancelled.

rebased


generate_samples.py - If path contains "train", all shards are classified as set_group train.

First of all, I want to thank you (1) for the great and really interesting paper and (2) for providing such a clean source code. I started to reproduce results from your paper and found the following bug which I want to share with you:
In generate_samples.py its evaluated whether the set_group is "train" or "test" via the check if "train" in f (line 112) where f could be the complete path to the shard file. Unfortunately, my path already contained ".../.../train/..." such that no single test file was generated. I would suggest changing line 112 to check only the basename.
Best,
David

Hi @peerdavid, thanks for the kind words and small fix.


Consolidate causality notebook versions in a staging branch

Our exploratory work on causality has produced a number of different notebooks, models and test files spread across several branches including #164, #236, #240 and @rfl-urbaniak's experiments repository.
To simplify our development workflow, we should consolidate the notebooks and any library code and tests whose design is not settled enough to land in master into a single staging branch causality-staging whose code is kept up to date with master, modify #240 to target the new staging branch, and deprecate the other versions and close out-of-date PRs like #164, as @SamWitty has done with the dynamical systems module in #241.
We should also create separate issues tracking any features that are well-specified and tightly scoped enough to land directly in master soon, such as #244-#248.

Closing as resolved by #441


Fix for issue #2317

I just replaced function substr with mb_substr in browse.blade.php as proposed.
Function substr is also used in relationship.blade.php, but I am not sure that this is an issue.
Fixes #2317

Only using mb_substr does not make sense if you dont also use mb_strlen.
Otherwise it still counts wrong. Even it is cutted correctly.

@dfk7677 I had to clean up your branch a bit.  You may have issues pulling as the history was changed.  In this case, just delete your local branch and pull it fresh.


Some Post Milestone Fixes

Several fixes made directly to environment during final preparations for milestone test, which now need to be included upstream.

Additional details in BMI modules helper build README file.
Fixes to some relative paths and certain included parameters for several example realization configs.
Fix of bug in logic for determining from realization config whether a BMI model should use its forcing file directly (issue #254).
Updating to latest alt-modular checkout.
Adjust logic in Bmi_C_Formulation to better handle iterating through forcing records, especially near the end of available data, to avoid misleading warnings.

@hellkite500, I pushed out some changes.  I adjusted the syntax of some the diffs in a few places (e.g., NGen.cpp) and removed a few comments.   I also went ahead and applied the change that Donald had made to _ FileStreamHandler.hpp_.  It's a different way to go about it, but I went ahead and addressed it here.

There is one unexpected test failure (Build and Run NGEN on example data / Build_Run_Model).  I'm ok merging and fixing that in a subsequent issue/PR, or doing it here, either way is fine.

I happen to coincidentally see this was approved right as it was, so I went ahead and merged things before you had a chance to add that comment.
There are several things that need to be addressed in the tests.  At minimum, the current BMI models need to be move to a public repo, though it also might make sense to remove the testing dependency on those and develop an internal, test-only BMI implementation example that has identity-like functions.  But either way, the last thing you mention can be addressed separately when we get to those tasks.


istio-cni : memory leak in repair

Bug Description
We observed that most of the pods in some of our eks clusters and some pods in other eks clusters were using memory in the range of 7GB. These pods were of Istio CNI Daemon Set.
On initial debugging, where we turned on the debug logs other istio-cni-pods using controlZ, we saw the only thing that the pod was doing was running a repair loop and its memory would keep on increasing, and forcing garbage collection wouldn't reduce the memory.  We disabled the repair loop manually and saw that that memory consumption was under control even after two days.

I wanted to profile memory of istio-cni while keeping the repair feature on to figure out where the leak is happening. I wasn't able to find any resource to profile memory in isito-cni.  From what I can see, pprof server is not running in normal istio-cni distribution.
Version
$ istioctl version
client version: 1.10.0
control plane version: 1.11.3
data plane version: 1.11.3 (1096 proxies)

$ kubectl version --short
Client Version: v1.22.3
Server Version: v1.21.5-eks-bc4871b

Additional Information
istio-namespace: istio-system
full-secrets: false
timeout (mins): 30
include: {  }
exclude: { Namespaces: kube-system, kube-public, kube-node-lease, local-path-storage } AND { Namespaces: kube-system, kube-public, kube-node-lease, local-path-storage }
end-time: 2022-01-27 11:35:08.77283 +0530 IST

The high memory usage has been fixed at 1.11.5 release.

We see the same thing, even on the latest releases, since 1.11

@binboum what release are you on?

We have small environments, but we go from a very linear thing that never exceeds 100MB, to non-linear consumption that sometimes exceeds 400MB.
1.12.2

1.10.0

@binboum we combined repair container and install container to one container (install-cni) at 1.11, so if you are only comparing memory usage of install-cni container that might explain it.

@bianpengyuan can you point to the PR for this fix?
I wasn't able to find it in release notes.

https://github.com/istio/istio/pull/36109 Should have added a release note for it. Sorry about that.

@bianpengyuan thank you so much for this.


Error during the installation process

Describe the bug
I get lots of error during the installation process, when I execute the python install command.

To Reproduce
Steps to reproduce the behavior:
I've been following it step by step but when I run the command python -m pip install . halfway through its execution I get a bunch of errors in red and it exits. Errors say things like Connection closed and .. .I've been struggling with it for a while and nothing works. I've attached a screenshot of the errors.
Desktop (please complete the following information):

OS: Windows 10
Python version: 3.7.0
Protoc version: protoc-3.15.6-win64

I couldn't reproduce this error on my Windows machine (Python 3.8.8). I found a question on Stackoverflow, but I'm not sure if this will help fix this error.

I think this might be a library compatibility issue, or version issue, because I was trying another tutorial which was very similar to yours, and in that one, instead of the command python -m pip install . the tutorial suggested to use the command  python setup.py install and when I try that, half way through it, the process exits with : fatal error C1083: Cannot open include file: 'math.h': No such file or directory. I attached a screenshot!

Any ideas how I can resolve it?
Thanks again Gilbert.

after a long day I finally managed to solve it.
What worked for me was to uninstall and re-install the Visual C++ 2015 build tools. It can be found here: https://go.microsoft.com/fwlink/?LinkId=691126


Match did not asks for password

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
I created a new project, called fastlane match init followed by fastlane match development.
Fastlane / Match hangs with:
[15:44:56]: Cloning remote git repo...
[15:44:56]: If cloning the repo takes too long, you can use the clone_branch_directly option in match.
The git url is git@bitbucket.org:ralphbergmann/test.git
I guess Match can't log in to git because it never asked for the git password. The doc says that it will ask when I run Match at the first time bat this doesn't happened.
What did I wrong?
Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.6

Ruby
2.2.4

Bundler?
false

Git
git version 2.11.0 (Apple Git-81)

Installation Source
~/.fastlane/bin/bundle/bin/fastlane

Host
Mac OS X 10.12.6 (16G8c)

Ruby Lib Dir
~/.fastlane/bin/bundle/lib

OpenSSL Version
OpenSSL 1.0.2g  1 Mar 2016

Is contained
true

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.3.2

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE
en_US.UTF-8
✅

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.33.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

CFPropertyList
2.3.5

activesupport
<IP_ADDRESS>

addressable
2.5.1

babosa
1.0.2

bigdecimal
1.2.6

bundler
1.14.3

claide
1.0.1

cocoapods
1.2.0

cocoapods-core
1.2.0

cocoapods-deintegrate
1.0.1

cocoapods-downloader
1.1.3

cocoapods-plugins
1.0.0

cocoapods-search
1.0.0

cocoapods-stats
1.0.0

cocoapods-trunk
1.1.2

cocoapods-try
1.1.0

colored
1.2

colored2
3.1.2

commander
4.4.3

commander-fastlane
4.4.4

domain_name
0.5.20161129

dotenv
2.2.0

escape
0.0.4

excon
0.55.0

faraday
0.11.0

faraday-cookie_jar
0.0.6

faraday_middleware
<IP_ADDRESS>

fastimage
2.1.0

fastlane-plugin-update_project_codesigning
0.1.9

fourflusher
2.0.1

fuzzy_match
2.0.4

gh_inspector
1.0.3

google-api-client
0.9.26

googleauth
0.5.1

highline
1.7.8

http-cookie
1.0.3

httpclient
2.8.3

hurley
0.2

i18n
0.8.1

io-console
0.4.3

json
1.8.1

jwt
1.5.6

libxml-ruby
2.9.0

little-plugger
1.1.4

logging
2.1.0

memoist
0.15.0

mime-types
3.1

mime-types-data
3.2016.0521

mini_magick
4.5.1

minitest
5.10.1

molinillo
0.5.6

multi_json
1.12.1

multi_xml
0.6.0

multipart-post
2.0.0

nanaimo
0.2.3

nap
1.1.0

netrc
0.7.8

nokogiri
1.5.6

os
0.9.6

plist
3.2.0

power_assert
0.2.2

psych
2.0.8

public_suffix
2.0.5

rake
10.4.2

rdoc
4.2.0

representable
2.3.0

retriable
2.1.0

rouge
1.11.1

ruby-macho
0.2.6

rubygems-update
2.5.2

rubyzip
1.2.1

security
0.1.3

signet
0.7.3

slack-notifier
1.5.1

sqlite3
1.3.13

terminal-notifier
1.7.1

terminal-table
1.7.3

test-unit
3.0.8

thread_safe
0.3.6

tty-screen
0.5.0

tzinfo
1.2.3

uber
0.0.15

unf
0.1.4

unf_ext
<IP_ADDRESS>

unicode-display_width
1.1.3

word_wrap
1.0.0

xcodeproj
1.4.4

xcpretty
0.2.4

xcpretty-travis-formatter
0.0.4

generated on: 2017-05-23

Note:

It works when I use a ssh key and not a password to log in
It is also not working with https://... git url

You can add --verbose to the command you are running.
That will show you all the operations it is performing.
You can then look for the output of its git clone operation and run that manually on in your terminal. It will ask you for a password and only that once, and from then on it will be stored in your keychain.

okay I fixed it. First I added the ssh key to the remote server and second I added the MATCH_PASSWORD env variable.
now it works, you can close this ticket


PyKafka doesn't currently support creating a new topic

Is there any way that more support for creating/deleting topics can be added to PyKafka?
I am aware that calling KafkaClient.topics['a new topic name'] will create a new topic but this feels wrong.

Hi @jmwri, thanks for being in touch. Since the Kafka API currently doesn't support creating topics via the binary protocol, the only way that pykafka could support it is by wrapping the CLI tools with python calls. We've considered this and have decided that it's not a high priority because of the simplicity with which python allows one to shell out (subprocess.popen("kafka-topics.sh --create --zookeeper localhost:2181 --topic testtopic2 --replication-factor 1 --partitions 1".split())). If we wrapped the CLI, we'd effectively be doing just that. That said, if you feel it's useful enough, I'd support a pull request that added topic creation and deletion via the CLI to the pykafka/cli module.

I understand that the issue is closed, but I still think creating a topic from the API is such an important feature for a publisher/subscriber wrapper and would massively enhance user experience, in particular if you are creating an application that is suppose to run on different environments that might not have the same kafka-topics.sh path. To note that other wrappers (such as the java client and kafka-python client) have it.


Tasks Require Terminal Resize To Detect Status

This happens quite often and is very annoying, as this particular status is used as precondition for a launch config.

(windows user)

/duplicate https://github.com/microsoft/vscode/issues/152634


Fix gradle version used in asset-transfer-basic/chaincode-java image

This patch fixes the gradle version used in asset-transfer-basic/chaincode-java build to 7.
The reason is because the gradle version in the gradle:jdk11-alpine image is updated from 7 to 8, which seems to cause the build to fail. The result of running docker build command with gradle:jdk11-alpine are as follows:
Step 4/16 : RUN gradle --no-daemon build shadowJar -x checkstyleMain -x checkstyleTest
 ---> Running in d245170e621f

Welcome to Gradle 8.0.1!

Here are the highlights of this release:
 - Improvements to the Kotlin DSL
 - Fine-grained parallelism from the first build with configuration cache
 - Configurable Gradle user home cache cleanup

For more details see https://docs.gradle.org/8.0.1/release-notes.html

To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/8.0.1/userguide/gradle_daemon.html#sec:disabling_the_daemon.
Daemon will be stopped at the end of the build

FAILURE: Build failed with an exception.

* Where:
Build file '/home/gradle/build.gradle' line: 7

* What went wrong:
An exception occurred applying plugin request [id: 'application']
> Failed to apply plugin class 'com.github.jengelman.gradle.plugins.shadow.ShadowJavaPlugin'.
   > You can't map a property that does not exist: propertyName=classifier

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 15s
The command '/bin/sh -c gradle --no-daemon build shadowJar -x checkstyleMain -x checkstyleTest' returned a non-zero code: 1

Related issues:
#940

@Mergifyio rebase

for me chaincode java is still not working, having the same issue .... (with latest commit)


Allow user to define transcript identifier column name

Some adjustments so that user can specify which columns contain the transcript (and later gene) identifiers flexibly

Codecov Report

Merging #17 into master will increase coverage by 0.07%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #17      +/-   ##
==========================================
+ Coverage   77.56%   77.63%   +0.07%
==========================================
  Files           8        8
  Lines         312      313       +1
==========================================
+ Hits          242      243       +1
  Misses         70       70

Impacted Files
Coverage Δ

R/reduce_transcript_model.R
100% <100%> (ø)
:arrow_up:

R/create_transcript_models.R
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0aab4c7...4625b2e. Read the comment docs.


Object level cipher support

controller Cert API, pull task, based on sha mismatch trigger
eve Node Ecdh Cert attest API, push task based on sha mismatch trigger
cipher event trigger to push, the events to contoller
Persistent CipherContextStatus to handle nim/wifi-cred data and associated refactoring
tpmmgr to maintain ecdh certificate as persistent data
refectoring the zedagent to handle ciper orchestration on config/status template

I am in the process of generating multiple review pull requests based on
separate functionality.
Regards,
Srinibas
On Thu, Jun 11, 2020 at 9:22 PM Erik Nordmark<EMAIL_ADDRESS>wrote:

@eriknordmark commented on this pull request.
In pkg/pillar/cmd/zedagent/handlecertconfig.go
https://github.com/lf-edge/eve/pull/1064#discussion_r438892325:

+// Eve node certificate, check whether there is a Sha mismatch
+// to trigger the post request
+func handleEveNodeCertsSha(ctx *zedagentContext,

config *zconfig.EdgeDevConfig) {
sumHash := hex.EncodeToString(eveNodeCertsHash)
certHash := config.GetNodecertConfighash()
if sumHash != certHash {

triggerEveNodeCertsEvent(ctx)

}
+}

Why do we need this?
The publish from tpmmgr will only publish if there is a change, hence when
handleModify is called in zedagent we know that there was a change.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lf-edge/eve/pull/1064#pullrequestreview-429053997,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHI2L2C6TVRFQGKT52AR3Q3RWD4SPANCNFSM4N24NF4Q
.

I am in the process of generating multiple review pull requests based on separate functionality.

I mostly want the required pices for the two items. Refactoring can and should be done separately.
If refactoring is required (and the bar is pretty high for this - not just "looking nicer") for the main work it makes sense doing it as a separate PR before that work. The apply the main work.

Superceeded by other PR


Update secret integration forms, update disabled edp links tooltips

Argo CD, Sonar, Nexus, DefectDojo, DependencyTrack forms are updated. Added ExternalURL field to manage specific EDPComponent resources together with the secret.
Update disabled EDPComponent links tooltips. If EDPComponent's external url is included in secret integration, then it will have different link.
Update EDPComponent form. Let user define only url and show checkbox for system edp components.


Introduce ESLint.

To estimate the amount of changes for googleapis/packman#62,
I've tried out ESLint with Google style to GAX-NodeJS (which is
smaller than packman).

[Current coverage][cc-pull] is 92.85% (diff: 94.44%)

Merging [#28][cc-pull] into [master][cc-base-branch] will decrease coverage by 0.05%

@@             master        #28   diff @@
==========================================
  Files             8          8
  Lines           959        966     +7
  Methods         129        129
  Messages          0          0
  Branches        208        208
==========================================
+ Hits            891        897     +6
- Misses           68         69     +1
  Partials          0          0

Powered by Codecov. Last update [9793a83...b7a2e35][cc-compare]
[cc-base-branch]: https://codecov.io/gh/googleapis/gax-nodejs/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/googleapis/gax-nodejs/compare/9793a83ecbeaea52348c86c97ec4a6cf09598ab6...b7a2e356428752b752493dbd07863fe62a5c5c9a?src=pr
[cc-pull]: https://codecov.io/gh/googleapis/gax-nodejs/pull/28?src=pr


Illumos / SmartOS / Solaris compatibility fix

For FIONREAD you need 'sys/filio.h' on Solaris(like) OS'es.
In order to use ioctl() you need 'unistd.h' and 'stropts.h'.

I suspect this is not the right place to do this.  Platform-specific changes like this should ideally go in port_platform.h.
@nicolasnoble, can you advise as to the best way to deal with this?  Thanks!

We have two whole headers dedicated for these types of ugliness, yes. Please do not directly use system specific defines in the code but these two files:
https://github.com/grpc/grpc/blob/master/include/grpc/support/port_platform.h
https://github.com/grpc/grpc/blob/master/src/core/lib/iomgr/port.h

Thanks for the pointer! I will update the PR.

@siepkes Is this still wanted?

@AspirinSJL Yes it is! Sorry for the delay I'll take a look at this and fix the PR.


Tests report as success when test suite fails to start, and does not generate a test result

Fixed by #72


Using fira code and font ligatures

I am trying to use fira code nerd font, I wrote it in quotes in the settings but the words just become huge. Is there a way to enable them and to also enable font ligatures?

Writing it without quotes should work, and ligatures are enabled by default.


Add Control Flow visualization utilities

Add more dataflow tests
Add Control Flow Java printer

Do we agree we can closet his in favor of dot-format emitting markers and punting visualization a bit?


Fixes for release-5.3.

Cherry-picks #56257, #55268, #56421, and #56258 to release-5.3 and bumps the version.

This seems to be missing the LKG and package-lock bumps


Pause completing Major Quests (or manual minors) when adventure zone is set to a Titan and it's available

Having recently unlocked questing I noticed that it takes full precedent over the adventure zone, which is fine when you're not simultaneously trying to farm a Titan like The Beast.
Perhaps add a setting (checkbox?) to the script that allows it to switch from quest collecting to fight available titan if adventure zone target is set to one of them.

Done in https://github.com/rvazarkar/NGUInjector/commit/54e821543aeb03b6a712df63a95a920c94e20ee5


 I want to be able to write a lint to enforce some particular style for my project

Thank you for the issue, this will definitely be possible. I think this should/could even be a Clippy lint, with a config value. It's similar to how stings can also be created in far too many ways :)


Add tree callback, and bug fix lazy loading

Pull Request Test Coverage Report for Build 128

26 of 29 (89.66%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.4%) to 82.285%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/tree-node.component.js
12
13
92.31%

src/tree.component.js
14
16
87.5%

Totals

Change from base Build 127:
0.4%

Covered Lines:
2635

Relevant Lines:
3005

💛  - Coveralls


[10.x] Fix return type in RedisStore

All further return type PRs should be consolidated into a single PR. Not merging anymore individual ones.


missing Navigation property Customer und CustomerId on Tenant

Add Customer and CustomerID property to tenant in API
(Code in UI is there but does not work without API)

@ChrEggenberger Customer has a back reference  to the Tenant entity (not the other way round). So you would have to query ~/Core/Customers?$filter=Tid eq '58e2d334-32be-499e-a5a7-85823826e3bf'

@ChrEggenberger should now be fixed since latest deployment in LAB3


Make the RN version evergreen

@asklar : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Modularization of the Library (In Progress)

The Library is really big, 25MB iirc, but this just limits a lot of things if you just need 1 part.
So i could just either make module releases and have at it, or provide the developers ways to just trim everything they don't need.
So the goal is implement a Module System where features can be enabled/disabled as needed.
To what extend this should be possible isn't clear yet, but having the option to just disable implementations or might be really useful.
Especially if you only need 1 map implementation but don't want to have the other 1000 that exist this can trim down everything a lot.
In the result this will increase template complexity a bit, but not by too much...
Allow for what is needed instead of everything.

@ben-manes I hope you don't mind the ping.
Since this is something that might interest you too.
You can look into the Modularization branch to see what changes I did so far.
(There is a commit coming up soon since i am finishing up the "List" part)
Also @vigna this might interest you too.
Though this requires rewrites on your side too. Especially since your Set/Map implementation depends on List implementations.
Though allowing such a thing is a improvement for everyone.

And done!


Support did-you-mean functionality in thor

When an invocation errors out because it cannot find a corresponding command, this will attempt to suggest alternatives in the case of typos. Also, when invalid switches are passed and checking for invalid switches is enabled, it will attempt to suggest alternatives as well.

Any interest in this? Trying to get this merged so bundler can take advantage


How To do position retarget like AnyTeleop

Hi
it's a greate work. I sam hand detection retarget logic, how about wrist pose retarget using RBG-D camera ?
as it mentions in AnyTeleop paper,  can you give some code examples?
how to convert wrist frame to camera frame ?
Thanks

Hi @xbkaishui
I'm not quite sure I understand your question. Could you clarify what you mean by "wrist pose retarget" in the context of AnyTeleop?
Also, I'm not sure why I would need to convert the wrist frame to the camera frame for teleoperation. Could you provide some more details or context about your question?

Hi @yzqin
Thanks for your quick response， I want to use Wrist Pose Detection result to teleoperation the robot arms
Below is reference from original paper Wrist Pose Detection from RGB-D.

We use the pixel positions of the detected keypoints to retrieve the corresponding
depth values from the depth image. Then, utilizing known intrinsic camera parameters, we compute the 3D positions
of the keypoints in the camera frame. The alignment of the RGB and depth images is handled by the camera
driver. With the 3D keypoint positions in both the local wrist frame and global camera frame, we can estimate the wrist
pose using the Perspective-n-Point (PnP) algorithm.

Here, the 3D camera captures depth information. The wrist position can be obtained from keypoints within the wrist coordinate system, and the wrist position can also be observed in the camera coordinate system. Should we create a transformation matrix between the wrist coordinate system and the camera coordinate system here? The wrist pose from the camera's perspective should be this transformation matrix, right?

Hi @xbkaishui
Apologies for the delayed response; I was traveling.
To clarify, we use the FrankMocap model for wrist pose estimation in this project.  However, due to licensing restrictions, we cannot directly release that part of the code within AnyTeleop but you can download FrankMocap yourself for free.
If you're interested in exploring wrist pose detection from RGB-D data, you can find our previous implementation here:
Code: https://github.com/yzqin/dex-hand-teleop/blob/3f7b56deed878052ec733a32b503aceee4ca8c8c/hand_detector/hand_monitor.py#L102
Let me know if you have any other questions!

Hi Yuzhe
I still don't fully understand the entire data collection process. I'm not clear on how to control the robotic arm using my hand. How are the hand coordinates captured by the 3D camera mapped to the robotic arm? can you explain more ?
Thanks

Hi @xbkaishui
The arm motion control is quiet more complicated than hand retargeting. I am working on some paper submission deadlines for now and I will try to wrap up better documentation about arm later. It requires much more dependencies on the software side and more effort on the tutorial.

ok, got it


MPSUtils.parseDescriptors() can cause a BufferUnderflowException

In MPSUtils.parseDescriptors(), each descriptor's tag and length are parsed, and then a ByteBuffer containing only the descriptor's data is passed to the new MPEGMediaDescriptor's parse() method. However, MPEGMediaDescriptor's parse() method attempts to parse the tag and length, which are no longer there. This can cause a BufferUnderflowException. A potential solution is to use ByteBuffer's absolute get(int) method in parseDescriptors() so the tag and length aren't consumed and can be safely parsed by the MPEGMediaDescriptor: https://gist.github.com/jrnorth/d5fc4ea2ef9445fca1a8.

Thanks for looking, let me have a look.
Stan
On Thursday, February 25, 2016, Joseph North<EMAIL_ADDRESS>wrote:

In MPSUtils.parseDescriptors()
https://github.com/jcodec/jcodec/blob/69ca28b1925a828cbec73d8c7d12fb3cc0d6f625/src/main/java/org/jcodec/containers/mps/MPSUtils.java#L367,
each descriptor's tag and length are parsed, and then a ByteBuffer
containing only the descriptor's data is passed to the new
MPEGMediaDescriptor's parse() method. However, MPEGMediaDescriptor's
parse() method attempts to parse the tag and length, which are no longer
there. This can cause a BufferUnderflowException. A potential solution is
to use ByteBuffer's absolute get(int)
http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html#get(int)
method in parseDescriptors() so the tag and length aren't consumed and
can be safely parsed by the MPEGMediaDescriptor: https://gist.git
hub.com/jrnorth/d5fc4ea2ef9445fca1a8
https://gist.github.com/jrnorth/d5fc4ea2ef9445fca1a8.
—
Reply to this email directly or view it on GitHub
https://github.com/jcodec/jcodec/issues/118.

Fixed in b54c5b282d14bd87e0deca736a033183a2d36e1d


feat: api requests proxied by ngxin / triggers improvement

Closes #711
config-ui dev env done, can be merged for @joncodo to do his work on trigger page.
will put up another pr to setup nginx part, @e2corporation @joncodo pls fix #712  so I can work on that tmr.

Since these are mostly UI changes, I will let @e2corporation review it

@e2corporation @klesh I added this commit: https://github.com/merico-dev/lake/pull/713/commits/42cb8679f0f1e85735d01855d1154a514956d188
This is only docs and I added it here since I did not want to conflict with these changes. Hopefully that is ok

LGTM


EC2 install: what are the volumes used for?

I noticed that the ec2 cluster setup script creates two volumes for each instance (50 GB and 100 GB respectively). Why are 2 volumes needed and what are they both used for? I am asking because I'd like to reduce their sizes but not sure which one would make more sense to resize.

Details on disk usage is here: http://docs.deis.io/en/latest/managing_deis/disk_usage/
I'd strongly recommend against making them smaller. Running out of disk space will cause huge operational headaches, and will likely result in that host no longer functioning properly.

@carmstrong Thanks. I'm mostly using Deis for development now and internal apps and was wondering where I could cut down on AWS fees. Also, do you have any estimates on how much it costs to run the AWS Deis installation per month?


Live mouse hover preview for Windows File Explorer

Description of the new feature / enhancement
We would love to see a mouse hover live-preview feature.  QTTabBar has a feature that is a good example of such an enhancement.  The tool is quick, intuitive, efficient and especially useful when processing photos or other documents where the user needs to see detail.  The Windows File Explorer preview pane is great, but has the following limitations:

The preview window can be illegible in some smaller File Explorer windows.
It also takes up a lot of window real estate which can limit the visible file listing.
It does not respond to the mouse hovering over files other than the one currently selected.
Must turn ON or OFF when not in use.
Not as intuitive as simply hovering over a file.

On the other hand, an immediate live pop-up preview (upon mouse hover) has the following advantages:

No need to turn a preview pane ON or OFF.
It takes no real estate from the File Explorer window.
Extremely efficient for quickly processing photos or files for organizing and moving.
Eliminates the need to select a file, which means you can retain an original anchor point for extending a selection while also previewing photo or document content.
Very intuitive and simple to understand and use.
Fast and almost second nature.
Powerful when processing large numbers of photos or documents quickly.

Furthermore, such a feature enhancement should include the option of being toggled ON or OFF including an option to also set the size of the desired pop-up context preview.  Many File Explorer preview options, such as ‘Extra Large’ icon thumbnails or small preview panes, can be very useful but often too small to help the user determine the true nature of the photo or document during processing.
Thank you for allowing us to comment.
Scenario when this would be used?
Processing photos often means seeing face detail or other subtle detail that helps identify the photo in context.  Furthermore, many photos today are of invoices, checks, contact info, other device screens and a myriad other documents.  In order to see the detail for moving these items to relevant folders, one requires a very quick enlarged, clear preview of the file.  Furthermore, a user may already have selected a file as an anchor point for moving a group of files and cannot select a file for a preview without losing the original anchor point.
Supporting information
A search for a hovering mouse preview in Windows File Explorer should gather an abundance of comments on this feature.

/dup #80

Thank you so much for the reply crutkas.   Unfortunately, the problem we see with #80 is that it requires the user to select the file first when using an app like Quick Look.  This prevents the user from extending a selection that may be several pages of thumbnails above.  That's because selecting a new file for the preview, resets the anchor point.  We are looking for a solution that allows a preview by hovering with the mouse so you do not need to select the file.  Thank you so much for your recommendation.

/dup https://github.com/microsoft/PowerToys/issues/80


17 follow another user

Closes #17

Got the following pip error

I got that same error on my iMac but on my MacBook it was fine. I removed steembase from the requirements and it works.


JavaCC 8.0.0: Table driven token manager dosn't handle ignore case

The new table driven token manager ignore the definition IGNORE_CASE on tokens.
E.g. following definition will generate a parser that can parse null but not NULL
// Constants Tokens TOKEN [ IGNORE_CASE ] : {   < NULL_TOKEN : "null" > }

Did you test it with the interpreter?

The new table driven token manager ignore the definition IGNORE_CASE
on tokens.
E.g. following definition will generate a parser that can parse /null/
but not /NULL/
|// Constants Tokens TOKEN [ IGNORE_CASE ] : { < NULL_TOKEN : "null" > }|
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/javacc/javacc/issues/65, or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQdrRSZzBTSbu_g2tF7nJOlQzy1uDmkks5ueF3tgaJpZM4W2C-k.

Yes, I tried it.
Parsing null
*** Starting in lexical state: DEFAULT
Token: NULL_TOKEN; image: "null" at: -1:1

Parsing NULL
Encountered token error at char: N
*** Starting in lexical state: DEFAULT

If you look at the RStringLiteral.UpdateStringLiteralData, it cannot work there is no information about case insensitive tokens to build the NFA. It handles only case insensitive globally if the option IGNORE_CASE is set

Looking

It works with -NO_DFA option. So the issue is when we generate the DFA for a string literal, we are not handing the IGNORE_CASE on token properly. Will fix it

OK A solution is to add another boolean array to the TokenizerData class and record any string literals that are token level ignore_case and then we can handle it in the driver to lower case the input.

Resolved with Pull Request #129


Using resilience4J timelimiter, gateway timeouts return are not caught by fallback of the CircuitBreaker filter

Describe the bug
Versions :
Spring cloud 2021.0.0
Spring boot 2.6.3
Description:
I created a gateway project with resilience4j as CircuitBreaker to catch exceptions and return custom HTTP errors. I configured the timelimiter to provide a timeout after 60s. Everything works great with GET requests but with other HTTP methods (like POST or PUT), the CircuitBreaker fallback doesn't catch the exception and a 405 error is returned.
I use this circuitBreaker in combination of a discoveryLocator (sample below).
Sample
Config sample:
spring:
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true
          lower-case-service-id: true
          predicates:
            - name: Path
              args:
                pattern: "'/'+serviceId+'/**'"
          filters:
            - name: CircuitBreaker
              args:
                name: "'gatewayCircuitBreaker'"
                fallbackUri: "'forward:/fallback'"
            - name: RewritePath
              args:
                regexp: "'/' + serviceId + '/(?<remaining>.*)'"
                replacement: "'/${remaining}'"

CircuitBreakerFactory Bean:
@Configuration
public class GatewayCircuitBreakerConfig {

    /**
     * Allows loading of circuitBreaker configuration from Spring yaml config
     */
    @Bean
    public ReactiveResilience4JCircuitBreakerFactory reactiveResilience4JCircuitBreakerFactory(CircuitBreakerRegistry circuitBreakerRegistry, TimeLimiterRegistry timeLimiterRegistry) {
        return new ReactiveResilience4JCircuitBreakerFactory(circuitBreakerRegistry, timeLimiterRegistry);
    }
}

Fallback controller:
@Slf4j
@RestController
@RequestMapping("/fallback")
public class FallbackController {

    @GetMapping
    public ResponseEntity<String> getFallback(ServerWebExchange exchange) {
        Throwable cause = exchange.getAttribute(CIRCUITBREAKER_EXECUTION_EXCEPTION_ATTR);
        Throwable rootCause = ExceptionUtils.getRootCause(cause);
        log.debug("Failure, cause was : ", cause);

        if(rootCause == null && cause instanceof java.util.concurrent.TimeoutException) {
            // Gateway Timeout
            return buildGatewayTimeoutResponse();
        } else {
            // Other error
            return buildResponse(HttpStatus.INTERNAL_SERVER_ERROR, cause);
        }
    }
}

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Hello,
After spending time to produce a minimal sample, I figured out my issue was not one.
In my feedback controller, the getFallback() method should have been written with a @RequestMapping instead of @GetMapping to catch all incoming requests.
So, here is the corrected version of my fallback controller:
@Slf4j
@RestController
@RequestMapping("/fallback")
public class FallbackController {

    @RequestMapping
    public ResponseEntity<String> getFallback(ServerWebExchange exchange) {
        Throwable cause = exchange.getAttribute(CIRCUITBREAKER_EXECUTION_EXCEPTION_ATTR);
        Throwable rootCause = ExceptionUtils.getRootCause(cause);
        log.debug("Failure, cause was : ", cause);

        if(rootCause == null && cause instanceof java.util.concurrent.TimeoutException) {
            // Gateway Timeout
            return buildGatewayTimeoutResponse();
        } else {
            // Other error
            return buildResponse(HttpStatus.INTERNAL_SERVER_ERROR, cause);
        }
    }
}


[bugfix] Parse negative value in PromQL

Fixes https://github.com/prometheus/prometheus/issues/4356
The issue was that, after seeing + or - parser was expecting num [+-] num x num notation and not looking for individual values.
Signed-off-by: Ganesh Vernekar<EMAIL_ADDRESS>

@brian-brazil PTAL

Unfortunately yes. That would be hard to tackle as we ignore white spaces.

Hmm, given this is going to be a publicly exposed api we may want to change that.

So don't ignore white spaces in lexer and handle them in parsing?

We should probably consider it for this bit of parsing.

@brian-brazil I have made the changes to consider spaces between values.

Thanks!


Methods to make xonsh or python portable: suggestions and talks

Current xxh supported methods to make xonsh portable:

AppImage which was built on linuxdeploy-plugin-python with manylinux2010 (PEP 571). The xonsh.appimage size is around 30MB.

Questions to discuss:

What alternatives?
How to reduce portable xonsh size?

https://www.flatpak.org/

https://nuitka.net/