Bipedal-locomotion-framework and iDynTree. A love that has come to an end

Disclaimer The title of the issue is deliberately provocative.
In https://github.com/robotology/idyntree/issues/707 I show the possibility to use Eigen in iDynTree public API. The main pro of using Eigen is enabling the linear algebra.
Discussing with @traversaro we realized that even if describing an iDynTree::VectorFixSize<> with Eigen is relatively simple https://github.com/robotology/idyntree/pull/709, implementing the same approach for an iDynTree::VectorDynSize is way less trivial. Indeed in iDynTree, the concept of capacity is widely used. This concept does not have a corresponding in Eigen.
In order to solve #56 and other similar problems, we (@traversaro and I) drew 2 + 1 possible solutions:

Nothing changes We keep the status quo.

Introduce operator+() (and all the others) in iDynTree between matrices and vector

Pro it should be a relatively simple work
Cons every time an operation is computed new memory is allocated. :cry: I would avoid this.

Avoid to use iDynTree in bipedal locomotion framework:

Pro: If all the methods and public attributes of the classes are Eigen It will be easy to use the library in other projects. Hopefully, the library will be used also in other labs since Eigen can be considered as numpy for Python. In the past, we already used Eigen instead of iDynTree in osqp-eigen.
Cons: It might be a long task.

In order to tackle the second point we should write a simple interface to iDynTree::KinDynComputations that takes as input Eigen Objects. The interface becomes useless as soon as the KinDynComputations class accepts iDynTree::Span
We should make a decision as fast as possible since the code in the repository is increasing day after day. (In theory, we should decide before merging #61 #62)
@dic-iit/dynamic-interaction-control

https://www.youtube.com/watch?v=4pBo-GL9SRg

To be honest, it is not clear to me the outcome. Do you want to completely remove iDynTree as a dependency, or you just want to avoid using the iDynTree::VectorDynSize as much as possible? To be honest, removing iDynTree as a dependency is even trickier since right now we need Span (which can be fully exported by the way) while in the future we will need some library for dynamic computations :thinking:

The main idea is to keep iDynTree in private dependency (except for span) and use VectorXd, Eigen::Ref etc etc... in the public API.
Correct me if I'm mistaken @traversaro

Yes, the idea is that Eigen::VectorXd or Eigen::Ref  may be more convenient interface type then iDynTree::VectorDynSize now that alignment issues have been resolved. I don't see any benefit in trying to replace objects that do not have an equivalence in Eigen (such as iDynTree::Span, for which instead we need to wait for C++20 and std::span).

I think this should have been the original design of the public APIs :)
I am a big fan of STL-only APIs, they simplify system integration to a level that is priceless. Of course, everything keeps working fine in the case only vectors are required. When there are APIs that need to accept or return matrices, a math-oriented library is often necessary. Now that Eigen solved its problems in public APIs, I will start advocating for this solution.

Discussing with @traversaro and @S-Dafarra we decided to start using the Eigen in the public API.
For this reason, I will change the code of #61 to be in accordance with this new choice. I kindly ask @S-Dafarra to do the same for #62.
For the already existing code, I start the conversion in the "free time". I will open a PR for each existing component

CC @dic-iit/dynamic-interaction-control

The choice of using Eigen in the public API of BipedalLocomotionFramework has already been assimilated through several PRs. I think we can close this issue now.

I guess that then we can close https://github.com/robotology/idyntree/issues/707 ?


Readme: Link from list to example

Every language should linked to the hello-world example file.

I think that's a good idea.

Addressed in #61.


Which IDE or tools  have you used to create this project ?

Could you provide me some  information  about how the  project was first created including  some basic files?Anyway when it became opensource,it is too complex to follow with.it will be very appreciated

There is no preferred IDE for this project.
Most people I know who work on Caffe2 do so with a simple editor and terminal.

For anyone wondering about the daunting task of jumping into the codebase as an outsider, I'll share some of my personal experience.
I use emacs. Installing dumb-jump mode made my productivity multiply by ~5 when I was starting off as it allowed me to jump to the definitions of various symbols very quickly.

I changed some code,such as including files' path and so on  ,and now I can build caffe2 from scratch using vs2015.
It's more convinient to use vs2015 for learning purpose ,because we can easily manage packages(protobuf ,glog,openblas) ,debuging ,and look into how functions implemented.


No repository is displayed

None of the repositories are displayed.
I've tried to debug the problem, the paths are loaded correctly, but then nothing gets displayed.
Also sometimes the app crashes after it loads somehow a null observer object in the array, but not always.

Hi @gabriel-vanca
Thanks for trying RepoM.
I'm willing to help but I need more information.

Are you running RepoM using the installer or are you building and running from source?
Can you list the filenames in the %AppData%\RepoM directory?
%AppData%\RepoM\appsettings.json contains one setting (ReposRootDirectories) to edit manually. Can you make sure you set at least one directory to scan using the following 'syntax' (with ending backslash and it's best to have the casing correct):

  "ReposRootDirectories": [
    "C:\\Projects\\",
    "C:\\Repositories\\",
  ],

Make sure you enable the plugin LuceneQueryParser. This can be done using the UI but also by editing the appsettings.json again.

 "Plugins": [
    ...
    {
      "Name": "LuceneQueryParser",
      "DllName": "RepoM.Plugin.LuceneQueryParser.dll",
      "Enabled": true
    },
    ...

Do not edit appsettings.json when RepoM is running.

Is there a logfile created in %AppData%\RepoM\Logs and does it help?
When repositories are found, these will be stored in a cache located at %AppData%\RepoM\Repositories.cache. Is this file created and does it contain full paths of expected repositories?

Workaround
I'm aware that RepoM is not fully stable when starting for the first time (or when it doesn't have any repos found). I've seen problems with the Observer before. I suggest that after starting RepoM, you do not open it for a while (10 minutes) such that it can find and process repositories.

When it not crashing, all found repositories should have been listed in the Repositories.cache. Also review the logs if you see exceptions.
When you don't see any repositories, it might have something to do with the filtering of RepoM (not realy documented yet)

When RepoM crashed, review the logs and review the settings.

I can help in both cases but lets first find out what is happening.

Both. Same thing happens.
File names in %AppData%\RepoM are:

I've added the root directories, but this really shouldn't be necessary.
It's enabled.
Log file is huge (417kb). I've deleted it and restarted RepoM. It seems to be ignoring the Root Repository Setting; it finds all the repos in my computer and proceeds with creating observers for them. I only see one error, on the 2nd line of the new-ly made log file, just been Started and Monitor.Observe starting :

Could not connect to Vss. Module will not be enabled.
System.ArgumentNullException: Value cannot be null. (Parameter 'baseUrl')
   at Microsoft.VisualStudio.Services.Common.ArgumentUtility.ThrowArgumentNullException(String paramName)
   at Microsoft.VisualStudio.Services.WebApi.VssConnection..ctor(Uri baseUrl, VssHttpMessageHandler innerHandler, IEnumerable`1 delegatingHandlers, Boolean allowUnattributedClients)
   at Microsoft.VisualStudio.Services.WebApi.VssConnection..ctor(Uri baseUrl, VssHttpMessageHandler innerHandler, IEnumerable`1 delegatingHandlers)
   at Microsoft.VisualStudio.Services.WebApi.VssConnection..ctor(Uri baseUrl, VssCredentials credentials, VssHttpRequestSettings settings)
   at Microsoft.VisualStudio.Services.WebApi.VssConnection..ctor(Uri baseUrl, VssCredentials credentials)
   at RepoM.Plugin.AzureDevOps.Internal.AzureDevOpsPullRequestService..ctor(IAzureDevopsConfiguration configuration, ILogger logger)

Yes, the Repositories.cache correctly lists all the repositories.
Yes, you're right. It was the filters! It was set by default to Work. It works fine on Private or Default. I suggest Default should be the actual default 😃
It's still ignoring the ReposRootDirectories until I clicked the Clear button. It seems the repositories outside of ReposRoot remain in the Cache file even if Scan is pressed and only Clear clears it. This is confusing. I suggest these are replaced with Fast Scan (only scans for new ones) and Full Scan (clears and scans).
Both the installed and the built from source one seem to work well now. I did actually notice that with the original RepoZ, it would not list the "Start from Visual Studio" -type actions when I'd build from source.
Building from source, I can also see the following errors in the debugger:

- Exception thrown: 'System.IO.IOException' in PresentationFramework.dll
- Exception thrown: 'System.ArgumentNullException' in Microsoft.VisualStudio.Services.Common.dll
- Exception thrown: 'System.InvalidOperationException' in System.Private.CoreLib.dll
- System.Windows.Data Warning: 4 : Cannot find source for binding with reference 'ElementName=captionGrid'. BindingExpression:Path=ActualHeight; DataItem=null; target element is 'RowDefinition' (HashCode=27262282); target property is 'Height' (type 'GridLength')
- DefaultRepositoryMonitor.cs(100,21,100,89): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call.
- DefaultRepositoryMonitor.cs(304,9,304,132): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call.
- Combridge.cs(43,13,43,54): warning CA1416: This call site is reachable on all platforms. 'Marshal.FinalReleaseComObject(object)' is only supported on: 'windows'.
- ExplorerWindowActor.cs(13,35,13,78): warning CA1416: This call site is reachable on all platforms. 'Type.GetTypeFromProgID(string)' is only supported on: 'windows'.
- MainWindow.xaml.cs(676,24,676,50): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.


Docker Support

This PR proposes to resolve #12 with:

A /Dockerfile using an nginx base image and additional files in /docker directory
A GitHub workflow to automize the building and publishing of docker images (on manual dispatch)
A section about the docker image in the readme

To make the workflow working, these secrets need to be set on the repository settings by the repository owner:

GIT_USER_NAME e.g. sebferre
GIT_USER_EMAIL e.g<EMAIL_ADDRESS>DOCKER_REGISTRY e.g. ghcr.io
DOCKER_IMAGE_NAME e.g. ghcr.io/sebferre/sparklis

Todo:

Define the DOCKER_IMAGE_NAME and replace ghcr.io/geovistory/sparklis in the readme with the new name.

Additional Info:

The GitHub workflow has been tested on this fork
The docker images resulting from the fork are available here

Thanks for the contribution!


Exclude movies from feed?

Right now InstagramFeed fetches all feed including movies from profiles, the problem is that movies are imported as black images with hrefs, which looks... weird.
Example:

Any way to exclude videos?

Please provide the instagram account to test

https://www.instagram.com/arturpiniewski/

The first two videos are shown as black images, exactly as they show on Instagram. The 8th item is also a video but shows properly. I don't consider this is an issue but might consider implement/accept a pull request implementing an option to exclude videos.

https://www.instagram.com/arturpiniewski/

if it is your insta account so You can reupload that videos and change the thumbnail before tapping publish button


P2P - Implement a Broadcast Receiver to share the Sync updates

Add ability to send or receive broadcast messages from the Android system

Initiate peer discovery , connection and transfer
Sync Started
Sync completed
Error reported  from error handling class - #1015
Sync report and status

replace w/new issue after discussion


ICS won't download on mobile

Guys, this is amazing. Thank you so much for creating it.
The issue I'm having is this: the ICS files won't download on mobile devices. In Android, nothing happens. In Chrome, a new window pops up but nothing happens.
Any thoughts?
I'm using your IE version of FileSaver.
S

Chrome in IPad also shows a blank popup when running the demo.

Hi Everyone,
Does anyone know if there's been a fix for this so that it "DOES" work in mobile/tablet devices? Like the rest of you... it just opens up a blank tab from my mobile device.
Best,

Still no one? @swbloom  you found a solution?

Have someone found a solution to this?

ics doesn't work in ios.  I've revamped the demo, but I don't think it'll fix android.  Marking as wontfix

@nwcell Travis, is mobile support still a no go? The simplicity of this is awesome I just wished it had mobile support. Thank you.

I managed to get it working on IOS by changing this line:
blob = new Blob([calendar]);
to
blob = new Blob([calendar], { type: 'text/calendar' });
Haven't tested it massively, but seems to work okay.

@NathanBillington In what context do you change the variable 'blob'? I've been so far only used saveAs().

I found a solution for this issue in Issue #27: https://github.com/nwcell/ics.js/issues/27#issuecomment-457681458


Camera preview just won't open at all

Hi
I have tried the latest build of cam2...and it no longer works on below:
Samsung BUILD.PRODUCT: serranoltexx (Samsung S4 Mini CyangenMod)
I downgraded in gradle to use cam2 0,6.6 and 0.6.9 and 0.7.0, and 0.7.1 and it worked fine.
But with latest cam2 0.7.5 and all the way down to 0.7.2, it doesn't:
I get these error messages:
                                               java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
                                                   at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:15174)
                                                   at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2492)
                                                   at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:688)
                                                   at android.content.ContentProvider$Transport.call(ContentProvider.java:325)
                                                   at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:275)
                                                   at android.os.Binder.execTransact(Binder.java:404)
                                                   at dalvik.system.NativeStart.run(Native Method)
03-03 16:55:04.705 184-184/? E/SMD: DCD ON
03-03 16:55:04.895 191-804/? E/qdmemalloc: heap_msk=3000000 flags=1

03-03 16:55:04.905 191-804/? E/qdmemalloc: heap_msk=40000000 flags=1

03-03 16:55:05.096 13553-13661/com.muzmatch.muzmatchapp E/com.newrelic.agent.android: Total trace exclusive time is zero. Ignoring trace Display ConfirmationFragment
03-03 16:55:05.526 492-1090/? E/Watchdog: !@Sync 84

Or full:
03-03 16:55:33.115 492-844/? I/InputReader: Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=0.135 ] when=2572456373000
03-03 16:55:33.115 492-843/? I/InputDispatcher: Delivering touch to: action: 0x4, toolType: 1
03-03 16:55:33.125 492-843/? I/InputDispatcher: Delivering touch to: action: 0x0, toolType: 1
03-03 16:55:33.125 492-812/? I/ServiceKeeper: In getpackagename pid = 492 uid = 1000 package name = android

                                              --------- beginning of /dev/log/system
03-03 16:55:33.125 492-843/? D/PowerManagerService: [api] userActivityFromNative : 10 (event: 2 flags: 0) eventTime = 2572456
03-03 16:55:33.165 492-844/? I/InputReader: Touch event's action is 0x1 (deviceType=0) [pCnt=1, s=] when=2572505328000
03-03 16:55:33.165 492-843/? I/InputDispatcher: Delivering touch to: action: 0x1, toolType: 1
03-03 16:55:33.185 492-506/? E/DatabaseUtils: Writing exception to parcel
                                              java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
                                                  at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:15174)
                                                  at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2492)
                                                  at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:688)
                                                  at android.content.ContentProvider$Transport.call(ContentProvider.java:325)
                                                  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:275)
                                                  at android.os.Binder.execTransact(Binder.java:404)
                                                  at dalvik.system.NativeStart.run(Native Method)
03-03 16:55:33.185 492-506/? W/ActivityManager: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
03-03 16:55:33.206 492-12824/? D/CustomFrequencyManagerService: acquireDVFSLockLocked : type : DVFS_MIN_LIMIT  frequency : 1242000  uid : 1000  pid : 492  pkgName : ACTIVITY_RESUME_BOOSTER@5
03-03 16:55:33.206 492-12824/? W/ActivityManager: mDVFSHelper.acquire()
03-03 16:55:33.216 492-699/? D/PointerIcon: setMouseIconStyle1 pointerType: 1001iconType:101 flag:0
03-03 16:55:33.216 492-699/? D/PointerIcon: setMouseCustomIcon IconType is same.101
03-03 16:55:33.226 492-986/? V/WindowOrientationListener: ScreenOrientationEventListenerImpl.getProposedRotationLocked, Rotation: -1
03-03 16:55:33.226 492-986/? V/WindowOrientationListener: ScreenOrientationEventListenerImpl.getProposedRotationLocked, Rotation: -1
03-03 16:55:33.226 492-986/? V/WindowManager: rotationForOrientationLw(orient=-1, last=0); user=0  sensorRotation=-1 mLidState=-1 mDockMode=0 mHdmiPlugged=false mAccelerometerDefault=false gripRotationLock=false
03-03 16:55:33.246 492-812/? I/ServiceKeeper: In getpackagename pid = 492 uid = 1000 package name = android
03-03 16:55:33.246 2872-2872/? I/SecureStorage: [INFO]: SPID(0x00000000)Checking if this device supports Secure Storage
03-03 16:55:33.246 2872-2872/? I/SecureStorage: [INFO]: SPID(0x00000000)This device does not support Secure Storage (length of property)
03-03 16:55:33.266 492-1657/? V/WindowOrientationListener: ScreenOrientationEventListenerImpl.getProposedRotationLocked, Rotation: -1
03-03 16:55:33.266 492-1657/? V/WindowOrientationListener: ScreenOrientationEventListenerImpl.getProposedRotationLocked, Rotation: -1
03-03 16:55:33.266 492-1657/? V/WindowManager: rotationForOrientationLw(orient=7, last=0); user=0  sensorRotation=-1 mLidState=-1 mDockMode=0 mHdmiPlugged=false mAccelerometerDefault=false gripRotationLock=false
03-03 16:55:33.276 941-941/? D/PhoneStatusBar: setTransGradationMode=false, mTransparentMode=false, mSemiTransparentMode=false, mMultiWindowMode=false
03-03 16:55:33.276 492-506/? D/StatusBarManagerService: tr p:13553,o:f
03-03 16:55:33.356 13553-13553/com.muzmatch.muzmatchapp D/ProgressBar: setProgressDrawable drawableHeight = 18
03-03 16:55:33.356 13553-13553/com.muzmatch.muzmatchapp D/AbsSeekBar: AbsSeekBar Constructor: misSeebarAnimationAvailable = false
03-03 16:55:33.386 941-941/? D/PhoneStatusBar: setSemiTransparentMode=false, mTransparentMode=false, mSemiTransparentMode=false, mMultiWindowMode=false
03-03 16:55:33.386 492-1663/? D/StatusBarManagerService: semi p:13553,o:f
03-03 16:55:33.406 191-191/? I/SurfaceFlinger: id=169 createSurf (1x1),1 flag=404, DameraActiv
03-03 16:55:33.406 492-800/? D/STATUSBAR-StatusBarManagerService: manageDisableList what=0x0 pkg=WindowManager.LayoutParams
03-03 16:55:33.426 492-699/? D/PointerIcon: setMouseIconStyle1 pointerType: 1001iconType:101 flag:0
03-03 16:55:33.426 492-699/? D/PointerIcon: setMouseCustomIcon IconType is same.101
03-03 16:55:33.426 13553-13553/com.muzmatch.muzmatchapp D/ProgressBar: updateDrawableBounds: left = 0
03-03 16:55:33.426 13553-13553/com.muzmatch.muzmatchapp D/ProgressBar: updateDrawableBounds: top = 0
03-03 16:55:33.426 13553-13553/com.muzmatch.muzmatchapp D/ProgressBar: updateDrawableBounds: right = 72
03-03 16:55:33.426 13553-13553/com.muzmatch.muzmatchapp D/ProgressBar: updateDrawableBounds: bottom = 72
03-03 16:55:33.436 492-13950/? W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1495 com.android.server.InputMethodManagerService$4.run:2689 java.lang.Thread.run:841 <bottom of call stack> <bottom of call stack>
03-03 16:55:33.446 2872-2872/? I/SecureStorage: [INFO]: SPID(0x00000000)Checking if this device supports Secure Storage
03-03 16:55:33.446 2872-2872/? I/SecureStorage: [INFO]: SPID(0x00000000)This device does not support Secure Storage (length of property)
03-03 16:55:33.456 191-313/? E/qdmemalloc: heap_msk=3000000 flags=1

03-03 16:55:33.456 191-313/? E/qdmemalloc: heap_msk=40000000 flags=1

03-03 16:55:33.466 492-986/? V/WindowOrientationListener: ScreenOrientationEventListenerImpl.getProposedRotationLocked, Rotation: -1
03-03 16:55:33.466 492-986/? V/WindowOrientationListener: ScreenOrientationEventListenerImpl.getProposedRotationLocked, Rotation: -1
03-03 16:55:33.466 492-986/? V/WindowManager: rotationForOrientationLw(orient=1, last=0); user=0  sensorRotation=-1 mLidState=-1 mDockMode=0 mHdmiPlugged=false mAccelerometerDefault=false gripRotationLock=false
03-03 16:55:33.476 492-800/? D/STATUSBAR-StatusBarManagerService: manageDisableList what=0x0 pkg=WindowManager.LayoutParams
03-03 16:55:33.476 941-941/? D/PhoneStatusBar: setSemiTransparentMode=false, mTransparentMode=false, mSemiTransparentMode=false, mMultiWindowMode=false
03-03 16:55:33.476 492-1154/? D/StatusBarManagerService: semi p:13553,o:f
03-03 16:55:33.486 492-719/? D/CustomFrequencyManagerService: acquireDVFSLockLocked : type : DVFS_MIN_LIMIT  frequency : 1242000  uid : 1000  pid : 492  pkgName : ACTIVITY_RESUME_BOOSTER@9
03-03 16:55:33.486 492-699/? D/CustomFrequencyManagerService: releaseDVFSLockLocked : Getting Lock type frm List : DVFS_MIN_LIMIT  frequency : 1242000  uid : 1000  pid : 492  tag : ACTIVITY_RESUME_BOOSTER@5
03-03 16:55:33.486 492-699/? W/ActivityManager: mDVFSHelper.release()
03-03 16:55:33.496 492-699/? D/PointerIcon: setMouseIconStyle1 pointerType: 1001iconType:101 flag:0
03-03 16:55:33.496 492-699/? D/PointerIcon: setMouseCustomIcon IconType is same.101
03-03 16:55:33.496 191-804/? I/SurfaceFlinger: id=169 Removed DameraActiv (13/14)
03-03 16:55:33.496 191-321/? I/SurfaceFlinger: id=169 Removed DameraActiv (-2/14)
03-03 16:55:33.506 492-13952/? W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1495 com.android.server.InputMethodManagerService$4.run:2689 java.lang.Thread.run:841 <bottom of call stack> <bottom of call stack>
03-03 16:55:33.526 492-812/? I/ServiceKeeper: In getpackagename pid = 492 uid = 1000 package name = android
03-03 16:55:33.526 13553-13553/com.muzmatch.muzmatchapp D/EventBus: No subscribers registered for event class com.commonsware.cwac.cam2.CameraController$ControllerDestroyedEvent
03-03 16:55:33.526 13553-13553/com.muzmatch.muzmatchapp D/EventBus: No subscribers registered for event class org.greenrobot.eventbus.NoSubscriberEvent
03-03 16:55:33.786 492-492/? D/CustomFrequencyManagerService: releaseDVFSLockLocked : Getting Lock type frm List : DVFS_MIN_LIMIT  frequency : 1242000  uid : 1000  pid : 492  tag : ACTIVITY_RESUME_BOOSTER@9
03-03 16:55:34.096 13553-13661/com.muzmatch.muzmatchapp E/com.newrelic.agent.android: Total trace exclusive time is zero. Ignoring trace Display ConfirmationFragment
03-03 16:55:34.157 941-941/? D/STATUSBAR-NetworkController: onSignalStrengthsChanged signalStrength=SignalStrength: 20 -1 -1 -1 -1 -1 -1 99<PHONE_NUMBER><PHONE_NUMBER><PHONE_NUMBER> -1<PHONE_NUMBER> gsm|lte 0x4 level=4

Appreciate your help on this! Tx (FYI a while back you fixed an issue for me for this phone model)

Nothing in any of that LogCat output seems related to my library — are there specific messages in there that are tied to your app's process that I should be looking at?
I also do not know what "just won't open at all means".
Have you tried either of the demo apps?

FYI a while back you fixed an issue for me for this phone model

I think I have that device, but I do not have CyanogenMod on it.

Yes - Literally i tap to open the preview and nothing at all happens. That is the only stuff in the logs.
Downgrading cam2 to 0.7.1 and it works a treat. I tried every single release from current down to that, and all failed as above.

I bet if you try the latest release on the device you have it will fail.

FYI exact same results when using demo apps - v0.7.1 and below it works only.

I blocked the front-facing camera on that device, as I was getting invalid output. See this commit. The experience that you will get is what you describe: the CameraActivity will finish() immediately.
For the rear-facing camera, both the demo/ and the demo-playground/ app work fine for me on that hardware, running Samsung's edition of Android 4.4.2 (not CyanogenMod/LineageOS).
See issue #311 for providing a cleaner way for you to find out that some camera/device combination is not supported.

Hi
But why would the same FFC work by default with 0.7.1 fine? IE with that release it gives good output?

        if (numCameras > 1) {
            //we must have a FFC
            Intent i = new CameraActivity.IntentBuilder(this)
                    .facing(Facing.FRONT)
                    .facingExactMatch()
                    .to(new File(getCacheDir(), "selfie-portrait.jpg"))
                    .skipConfirm()
                    .orientationLockMode(OrientationLockMode.PORTRAIT)
                    .zoomStyle(ZoomStyle.NONE)
                    .updateMediaStore()
                    .build();

            startActivityForResult(i, REQUEST_PORTRAIT_FFC);

        } else {
            Intent i = new CameraActivity.IntentBuilder(this)
                    .facing(Facing.BACK)
                    .facingExactMatch()
                    .to(new File(getCacheDir(), "selfie-portrait.jpg"))
                    .skipConfirm()
                    .orientationLockMode(OrientationLockMode.PORTRAIT)
                    .zoomStyle(ZoomStyle.NONE)
                    .updateMediaStore()
                    .build();

            startActivityForResult(i, REQUEST_PORTRAIT_FFC);
        }```

This exact code with release 0.7.1 works fine and loads FFC correctly no issues. Any release above that doesnt at all.

But why would the same FFC work by default with 0.7.1 fine?

It didn't on my test hardware.

(purely out of interest if you tried 0.6.8 does it work for you?
Sorry to be a pain - just trying to understand as something strange is definitely happening.

FYI on latest release yes rear camera loads fine (just tried)

See issue #312 for retesting serranoltexx. I will not get to this for a week or two, at best, though.

No worries - your work has been invaluable to us - so it is much appreciated. Thx for the speedy responses.

Hi - just wondering if you had a chance to look at this one? Appreciate you have alot on your plate!


Update dependencies

@jdubois @erikkemperman Can you please take a look?

@pascalgrimaud Can you please restart build?
Thanks

Seems OK now.

@DanielFran : FYI, you can close / reopen the pull request, for restarting a build :)

@DanielFran Thanks! Hopefully spring-cloud will be GA soon, I thought it was scheduled for end of April and aiming for spring-boot 2.0.1 but I was wrong (or they changed it):
https://github.com/spring-cloud/spring-cloud-release/milestone/39
https://github.com/spring-projects/spring-boot/milestone/109
By the way, we’re still not aligned with infinispan; stuck on 8.x while SB is managing 9.x versions. I couldn’t get the upgrade to work, would be good if someone who knows this better than me could take a look... If it helps I have WIP at
https://github.com/erikkemperman/jhipster/commits/upgrade-infinispan
https://github.com/erikkemperman/generator-jhipster/tree/upgrade-infinispan

@erikkemperman did you try with: https://mvnrepository.com/artifact/org.infinispan/infinispan-spring-boot-starter/2.0.0.Beta1

@DanielFran Actually I was the one requesting that release :-)
https://github.com/infinispan/infinispan-spring-boot/issues/44
But I tried it briefly and it did not seem to solve the problems... I just don’t know about infinispan to debug it effectively!


Absorption is infinite

Issue
As soon as you lose one of your absorption hearts, they immediately regenerate because the effect gets reapplied by the system.
Proposal
In GemAmuletConfig, create a map of uponInsertionEffects.
Create an ItemStackMixin that checks if the item is an amulet and applies the uponInsertionEffects.

I'm going to go with a mixin-less approach because mixins require too much @Injects to cover all possible situations.
Instead, I'm going to store a flag initialized in GemAmulet and, if it's false, set it to true and apply the onInsertEffects.


Android 6+ delete key

monaco-editor version: 0.10.0
Browser: Chrome 50
OS: Android 6.1
Steps or JS usage snippet reproducing the issue:
Typing anything into the monaco editor and then attempting to delete it using the keyboard fails.
Debugging this shows that onKeyDown on Android is raising keyCodes with 229 for the back key.
Potentially in vscode/textAreaInput:
https://github.com/Microsoft/vscode/blob/05f7db06b22a5a66c58435cf78a529bd40b8dbe7/src/vs/editor/browser/controller/textAreaInput.ts#L251
you could handle the scenario where text == "" and replaceCharCnt == 1 and do a replacePreviousChar in that case.
Although this might fix the issue for one line, it's best if there was a way we could trigger a deleteLeft command in that case, as that would work across multiple lines.
More info: https://bugs.chromium.org/p/chromium/issues/detail?id=118639

Potentially related to #529

Thanks @alexdima !! 💯 This was a really annoying issue.


android: Make minWidth of TextInput 0 like iOS.

Motivation
Currenlty TextInput on Android has some default minWidth, but on iOS
it is 0. So this commit makes TextInput width consistent on both the
platform.
On Android, if no text is present and no placeholder is provided, it's
width is 0 (assuming padding: 0 style is applied). But as soon as a
single char is entered in the input, it width becomes more than that
of char. It is no more WRAP_CONTENT. This commit fixes it.
Note: Setting backgroundColor has no affect on TextInput background
color, as background color is handled by backgroundManger.
Before:
https://user-images.githubusercontent.com/39303760/43045548-252fae7a-8dd8-11e8-8948-bb37c2b0689e.png
After:
https://user-images.githubusercontent.com/39303760/43045549-255c3bac-8dd8-11e8-8b12-30f413777544.png
Testing code:
https://github.com/jainkuniya/TestTextInput/blob/3bd6d6621d20bb6f13ede84e63e6948963febc9b/App.js
Test Plan
Clone code from https://github.com/jainkuniya/TestTextInput/blob/3bd6d6621d20bb6f13ede84e63e6948963febc9b/App.js and test on Android with and without this commit.
Before:
https://user-images.githubusercontent.com/39303760/43045548-252fae7a-8dd8-11e8-8948-bb37c2b0689e.png
After:
https://user-images.githubusercontent.com/39303760/43045549-255c3bac-8dd8-11e8-8b12-30f413777544.png
Release Notes
[ANDROID] [BUGFIX] [TextInput] - Make minWidth of TextInput 0 like iOS.

Sorry for not getting to this earlier. I'm not sure why this change would fix the issue describe, and also this file is now outdated so I'm concerned merging this will cause issues that we do not understand well so I'm gonna close this PR.


DS-79 Pluggable Assetstore with S3 storage

A refactor of the Bitstream Storage Manager to allow different implementations for file/bitstream storage. The primary motivation is leverage a cloud service, such as Amazon S3, which offers easy management, infinite scalability, extreme durability, and low pricing. Other storage implementations could be built off of this work. This follows the DSpace 2.0 goal of having a Pluggable Assetstore. Longsight DSpace Hosting is using this S3 bitstream storage feature for our cloud hosted DSpace instances on AWS.
https://jira.duraspace.org/browse/DS-79 - Pluggable Assetstore + S3
https://jira.duraspace.org/browse/DS-1117 - Pluggable Assetstore
http://duraspace.org/articles/2583
https://www.longsight.com/learning-center/blog/longsight-contributes-new-dspace-storage-options
To enable S3 assetstore, customize config/dspace.cfg
## DSpace 6+ assetstore config
# Configure the bitstore implementations
## bitstore.<short-name>.class=<implementation-class-canonical-name>
bitstore.ds.class=org.dspace.storage.bitstore.impl.DSBitStore
bitstore.s3.class=org.dspace.storage.bitstore.impl.S3BitStore

# Configure the assetstore
# DSBitstore is only configured with directory to store assets
# Other implementations take path to configuration file relevant to that method
## assetstore.<#>=<short-name>:<param>
assetstore.0=ds:${dspace.dir}/assetstore
assetstore.1=s3:${dspace.dir}/config/modules/bitstore-s3.cfg

assetstore.incoming = 1

Register at AWS.amazon.com, and create an S3 bucket.
Then edit config/modules/bitstore-s3.cfg with the access_key, secret_key, and bucket name.
#aws_access_key_id =
#aws_secret_access_key =
#bucketName = institution-dspace-environment
#Which S3 Region to use: {us-east-1, us-west-1, eu-west-1, eu-central-1, ap-southeast-1, ... }
#aws_region = us-east-1

S3 will work just like a local assetstore, but requires internet connection between your DSpace server, and AWS.

This refactor of BitstreamStorageManager is based on Richard Rodger's work of Pluggable Storage
https://wiki.duraspace.org/display/DSPACE/DSpace+2.0+Pluggable+Storage

Here at TDL, we did some smoke testing with this code and it seems to work as expected. We merged this pull request to DSpace 5.3 along with 1 or 2 DSpace 6.x classes that this code depends on. We first wrote locally, then redirected (i.e. changed "assetstore.incoming" from 0 to 1), and then wrote more data. After the redirect, we saw new data go to S3. We were able to read data from both local and S3 storage. As expected, we did not see duplication in S3 and local. The file downloaded from S3 through DSpace was identical to the original file. We did not notice any bugs. NOTE: we did not test this code on DSpace 6.x. Hope this helps.

Thanks for the smoke test @klieart. This was for development, or are you already using this in 5.x production?
You changing your incoming assetstore number does bring up the thought that it might be helpful to have some process to migrate an assetstore? i.e. bitstreams 1-9999 all went to 0 (local filesystem), and 10000+ all went to S3. We don't want to locally manage bitstreams anymore, so lets migrate assetstore 0 to assetstore 1. I don't think there is any implementation specific code needed for this, just a generic migrate assetstore  to assetstore . It would be all or nothing. At the end, assetstore 0 (local) would have zero objects, and assetstore 1 (s3) would have all bitstreams.
Another testing note that I have is that if you run this all from within AWS, you won't notice any strange behavior. During testing, I had my local desktop version of DSpace running a batch import, and noticed that batch import was very slow. (My local upload speed was a limiting factor, as batch import is fast, but writing to s3, if you are outside of AWS is going to be network dependent, and slow. Atleast relative to writing to local filesystem). If you ftp'ed your batch import to an instance on AWS, and then ran batch import, it would be fast, since ec2 and s3 are in the same network. (I haven't tested different regions, but probably not an issue, as you would just get varying levels of latency).

Hi @peterdietz , we currently host everything on EC2 instances and store our bitstreams in EBS volumes. We're interested in migrating everything to S3 to lower cost.
I'm not aware of an existing functionality designed to migrate data from asset-store to asset-store except AIP import/export. I tested migrating with AIP, but it was a bit unreliable. I'm currently working on a curation task that will allow migration of bitstreams. My code copies one bitstream at a time and re-imports, and marks the old bitstreams for deletion. My migration code works, but I'm still trying to figure out how to fix a bug related to the metadata of the copied bitstreams not being set properly.
If you know a more elegant solution for migration, please let us know. If there is no solution implemented, maybe my code will help. I'd be interested to hear your thoughts on this.

@peterdietz , also we haven't deployed anything yet; this is all dev. We'd only deploy once we have a clear story on how data can be migrated, versioned, rolled-back/forward, and synchronized between asset stores.

@tdonohue I've removed the unused SRB config file with 4107124

This is a 5.x era PR. Closing it for posterity. The 6x era PR is: https://github.com/DSpace/DSpace/pull/1159


Cannot start Vespa after Upgrade

After upgrading to the version 7.594.36 Vespa does not start
To Reproduce
yum update vespa
Screenshots
[2022-06-23 16:36:50] container-clustercontroller Cluster 'stack': Storing new cluster state version in ZooKeeper: 12
[2022-06-23 16:36:50] container-clustercontroller Cluster 'stack': Master moratorium complete: timed out waiting for all nodes to report in
[2022-06-23 16:36:50] container-clustercontroller Cluster 'stack': Publishing cluster state version 12
[2022-06-23 16:36:50] distributor      Distributor node ready. Done initializing. Giving out of sequence metric event. Config id is stack/distributor/0
[2022-06-23 16:36:50] distributor      Transitioning from baseline state 'Down' to 'Up' (cluster state version 12)
[2022-06-23 16:36:50] container-clustercontroller Cluster event type SYSTEMSTATE @1656002210111: Reset 1 start timestamps as all available distributors have seen newest cluster state.
[2022-06-23 16:38:36] configserver     Session 58 prepared successfully.
[2022-06-23 16:38:37] configserver     Session activated: 58
[2022-06-23 16:38:37] configserver     Session 58 activated successfully using no host provisioner. Config generation 58. Based on session 57. File references: [file '7578094d437997ed']
[2022-06-23 16:38:37] searchnode       Filedistributorrpc config is changed
[2022-06-23 16:38:37] container-clustercontroller Switching to the latest deployed set of configurations and components. Application config generation: 58
[2022-06-23 16:38:37] container-clustercontroller Starting deconstruction of 2 components and 0 bundles from generation 57
[2022-06-23 16:38:38] container-clustercontroller Completed deconstruction in 0.030 seconds
[2022-06-23 16:38:38] searchnode       Add document database: doctypename(file), configid(stack/search/cluster.stack/file)
[2022-06-23 16:38:38] container        Switching to the latest deployed set of configurations and components. Application config generation: 58
[2022-06-23 16:38:38] container        Starting deconstruction of 2 components and 0 bundles from generation 57
[2022-06-23 16:38:38] container        Completed deconstruction in 0.013 seconds
[2022-06-23 16:38:38] searchnode       Add document database: doctypename(filter), configid(stack/search/cluster.stack/filter)
[2022-06-23 16:38:39] searchnode       vespa-proton-bin: /builddir/build/BUILD/vespa-7.594.36/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp:433: void proton::DocumentDB::applySubDBConfig(const proton::DocumentDBConfig&, proton::DocumentDB::SerialNum, const proton::ReconfigParams&): Assertion `newDocType != nullptr' failed.
[2022-06-23 16:38:39] metricsproxy-container Switching to the latest deployed set of configurations and components. Application config generation: 58
[2022-06-23 16:38:39] metricsproxy-container Starting deconstruction of 2 components and 0 bundles from generation 57
[2022-06-23 16:38:39] metricsproxy-container Completed deconstruction in 0.002 seconds
[2022-06-23 16:38:40] config-sentinel  searchnode: incremented restart penalty to 254.000 seconds
[2022-06-23 16:38:40] config-sentinel  searchnode: incremented restart penalty to 510.000 seconds
[2022-06-23 16:38:40] config-sentinel  searchnode: will delay start by 506.543 seconds
[2022-06-23 16:47:06] searchnode       Filedistributorrpc config is changed
[2022-06-23 16:47:07] searchnode       Add document database: doctypename(file), configid(stack/search/cluster.stack/file)
[2022-06-23 16:47:07] searchnode       Add document database: doctypename(filter), configid(stack/search/cluster.stack/filter)
[2022-06-23 16:47:07] searchnode       vespa-proton-bin: /builddir/build/BUILD/vespa-7.594.36/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp:433: void proton::DocumentDB::applySubDBConfig(const proton::DocumentDBConfig&, proton::DocumentDB::SerialNum, const proton::ReconfigParams&): Assertion `newDocType != nullptr' failed.
[2022-06-23 16:47:08] config-sentinel  searchnode: incremented restart penalty to 1022.000 seconds
[2022-06-23 16:47:08] config-sentinel  searchnode: incremented restart penalty to 1800.000 seconds
[2022-06-23 16:47:08] config-sentinel  searchnode: will delay start by 1798.416 seconds

Environment (please complete the following information):

OS: CentOS
AWS
Versions Stream 8

Vespa version
7.594.36

Work note: https://app.slack.com/client/T01RFPFNAHX/C01QNBPPNT1/thread/C01QNBPPNT1-1655466264.601519
I am not sure how you do the upgrade. Instead of doing yum update vespa please use the latest image by doing docker pull vespaengine/vespa.
Then I suggest you test the application package by deploying it, like in https://docs.vespa.ai/en/vespa-quick-start.html (substitute "myapp" with the directory of your application)

I forgot to mention that the app deploys successfully to the instance and increments the tenant number.

Using the https://docs.vespa.ai/en/vespa-quick-start.html then
$ docker exec vespa /opt/vespa/bin/vespa-proton-cmd --local triggerFlush
$ docker exec vespa find /opt/vespa/var/db/vespa/search

/opt/vespa/var/db/vespa/search
/opt/vespa/var/db/vespa/search/cluster.music
/opt/vespa/var/db/vespa/search/cluster.music/n0
/opt/vespa/var/db/vespa/search/cluster.music/n0/tls
/opt/vespa/var/db/vespa/search/cluster.music/n0/tls/tls
/opt/vespa/var/db/vespa/search/cluster.music/n0/tls/tls/tls.domains
/opt/vespa/var/db/vespa/search/cluster.music/n0/tls/tls/music
/opt/vespa/var/db/vespa/search/cluster.music/n0/tls/tls/music/music-0000000000000000
/opt/vespa/var/db/vespa/search/cluster.music/n0/documents
/opt/vespa/var/db/vespa/search/cluster.music/n0/documents/music

The key her is n0 - the data for content node 0 is here. so, you can try to deploy your app on a fresh node, then copy everything under nX (X being the distribution key) - and see if proton starts. do not change the number on you fresh install (or, make sure that the content node number is configured in services.xml). I don't know how large you app is (if there are multiple nodes). This is not guaranteed to work, worth a try

Thanks, I'll try that.

That still seems to leave me with the same error
[2022-06-30 08:15:08] configserver     Starting ZooKeeper server with /opt/vespa/conf/zookeeper/zookeeper.cfg. Trying to establish ZooKeeper quorum (members: [ip-172-31-25-124.ec2.internal], attempt 1)
[2022-06-30 08:15:10] configserver     Threadpool 'default-pool': min=8, max=200, queue=0
[2022-06-30 08:15:10] configproxy      Could not connect to config source at tcp/localhost:19070
[2022-06-30 08:15:10] configproxy      Could not connect to any config source in set [tcp/localhost:19070], please make sure config server(s) are running.
[2022-06-30 08:15:11] configproxy      Connecting to tcp/localhost:19070
[2022-06-30 08:15:11] configserver     no location brokers available, retrying: [] (in 0.5 seconds)
[2022-06-30 08:15:11] configserver     Application activated successfully: default.default (generation 4)
[2022-06-30 08:15:11] configserver     Adding tenant 'default', created 2022-06-29T16:57:07.621Z. Bootstrapping in PT1.1192266S
[2022-06-30 08:15:12] configserver     Creating janitor executor with 2 threads
[2022-06-30 08:15:12] configserver     Threadpool size: min=18, max=18
[2022-06-30 08:15:12] configserver     Rpc server will listen on port 19070
[2022-06-30 08:15:12] configserver     Changing health status code from 'initializing' to 'up'
[2022-06-30 08:15:12] configserver     jetty-9.4.46.v20220331; built: 2022-03-31T16:38:08.030Z; git: bc17a0369a11ecf40bb92c839b9ef0a8ac50ea18; jvm 17.0.3+7-LTS
[2022-06-30 08:15:12] configserver     Started o.e.j.s.ServletContextHandler@515fff35{19071,/,null,AVAILABLE}
[2022-06-30 08:15:12] configserver     Started<EMAIL_ADDRESS>(http/1.1, h2c)}{<IP_ADDRESS>:19071}
[2022-06-30 08:15:12] configserver     Started @10503ms
[2022-06-30 08:15:12] configserver     Switching to the latest deployed set of configurations and components. Application config generation: 0
[2022-06-30 08:15:18] configproxy      Connecting to tcp/localhost:19070
[2022-06-30 08:15:18] config-sentinel  Connectivity check details: ip-172-31-25-124.ec2.internal -> OK: both ways connectivity verified
[2022-06-30 08:15:18] config-sentinel  All connectivity checks OK, proceeding with service startup
[2022-06-30 08:15:19] container        [0.014s][info][gc] Using G1
[2022-06-30 08:15:20] configserver     successfully connected to location broker tcp/ip-172-31-25-124.ec2.internal:19099 (mirror initialized with 0 service names)
[2022-06-30 08:15:21] searchnode       Filedistributorrpc config is changed
[2022-06-30 08:15:22] logd             state server listening on port 19089
[2022-06-30 08:15:22] distributor      no location brokers available, retrying: [tcp/ip-172-31-25-124.ec2.internal:19099] (in 0.5 seconds)
[2022-06-30 08:15:23] distributor      successfully connected to location broker tcp/ip-172-31-25-124.ec2.internal:19099 (mirror initialized with 0 service names)
[2022-06-30 08:15:23] distributor      successfully connected to location broker tcp/ip-172-31-25-124.ec2.internal:19099 (mirror initialized with 0 service names)
[2022-06-30 08:15:23] distributor      [RPC @ tcp/ip-172-31-25-124.ec2.internal:19112] registering storage/cluster.stack/distributor/0/default with location broker tcp/ip-172-31-25-124.ec2.internal:19099 completed successfully
[2022-06-30 08:15:23] distributor      [RPC @ tcp/ip-172-31-25-124.ec2.internal:19113] registering storage/cluster.stack/distributor/0 with location broker tcp/ip-172-31-25-124.ec2.internal:19099 completed successfully
[2022-06-30 08:15:23] distributor      Starting status web server on port 19114.
[2022-06-30 08:15:24] searchnode       Add document database: doctypename(file), configid(stack/search/cluster.stack/file)
[2022-06-30 08:15:24] searchnode       Add document database: doctypename(filter), configid(stack/search/cluster.stack/filter)
[2022-06-30 08:15:24] searchnode       Add document database: doctypename(stack), configid(stack/search/cluster.stack/stack)
[2022-06-30 08:15:24] searchnode       Add document database: doctypename(userRecord), configid(stack/search/cluster.stack/userRecord)
[2022-06-30 08:15:25] searchnode       vespa-proton-bin: /builddir/build/BUILD/vespa-8.8.35/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp:433: void proton::DocumentDB::applySubDBConfig(const proton::DocumentDBConfig&, proton::DocumentDB::SerialNum, const proton::ReconfigParams&): Assertion `newDocType != nullptr' failed.
[2022-06-30 08:15:25] container        Registered provider org.eclipse.jetty.http2.hpack.HpackFieldPreEncoder of service org.eclipse.jetty.http.HttpFieldPreEncoder in bundle container-disc
[2022-06-30 08:15:25] container-clustercontroller Registered provider org.eclipse.jetty.http2.hpack.HpackFieldPreEncoder of service org.eclipse.jetty.http.HttpFieldPreEncoder in bundle container-disc
[2022-06-30 08:15:25] container        Logging initialized @6296ms to org.eclipse.jetty.util.log.Slf4jLog
[2022-06-30 08:15:25] container        Registered provider org.eclipse.jetty.alpn.java.server.JDK9ServerALPNProcessor of service org.eclipse.jetty.io.ssl.ALPNProcessor$Server in bundle container-disc
[2022-06-30 08:15:25] container        Registered provider org.eclipse.jetty.http.Http1FieldPreEncoder of service org.eclipse.jetty.http.HttpFieldPreEncoder in bundle container-disc
[2022-06-30 08:15:25] container-clustercontroller Logging initialized @6004ms to org.eclipse.jetty.util.log.Slf4jLog
[2022-06-30 08:15:25] container-clustercontroller Registered provider org.eclipse.jetty.alpn.java.server.JDK9ServerALPNProcessor of service org.eclipse.jetty.io.ssl.ALPNProcessor$Server in bundle container-disc
[2022-06-30 08:15:25] container-clustercontroller Registered provider org.eclipse.jetty.http.Http1FieldPreEncoder of service org.eclipse.jetty.http.HttpFieldPreEncoder in bundle container-disc
[2022-06-30 08:15:25] container        Started bundles: {[1]container-disc:8.8.35, [2]config-bundle:8.8.35, [3]configdefinitions:8.8.35, [4]container-search-and-docproc:8.8.35, [5]container-search-gui:8.8.35, [6]docprocs:8.8.35, [7]hosted-zone-api:8.8.35, [8]jdisc-security-filters:8.8.35, [9]linguistics-components:8.8.35, [10]vespaclient-container-plugin:8.8.35, [11]vespa-athenz:8.8.35, [12]container-apache-http-client-bundle:8.8.35, [13]security-utils:8.8.35, [14]bcpkix:1.68.0, [15]bcprov:1.68.0, [16]javax.servlet-api:3.1.0, [17]container-spifly:1.3.5, [18]com.fasterxml.jackson.core.jackson-annotations:2.13.3, [19]com.fasterxml.jackson.core.jackson-core:2.13.3, [20]com.fasterxml.jackson.core.jackson-databind:2.13.3, [21]com.fasterxml.jackson.datatype.jackson-datatype-jdk8:2.13.3, [22]com.fasterxml.jackson.datatype.jackson-datatype-jsr310:2.13.3, [23]javax.ws.rs-api:2.0.1}
[2022-06-30 08:15:26] container-clustercontroller Started bundles: {[1]container-disc:8.8.35, [2]config-bundle:8.8.35, [3]configdefinitions:8.8.35, [4]container-search-and-docproc:8.8.35, [5]container-search-gui:8.8.35, [6]docprocs:8.8.35, [7]hosted-zone-api:8.8.35, [8]jdisc-security-filters:8.8.35, [9]linguistics-components:8.8.35, [10]vespaclient-container-plugin:8.8.35, [11]vespa-athenz:8.8.35, [12]container-apache-http-client-bundle:8.8.35, [13]security-utils:8.8.35, [14]bcpkix:1.68.0, [15]bcprov:1.68.0, [16]javax.servlet-api:3.1.0, [17]container-spifly:1.3.5, [18]com.fasterxml.jackson.core.jackson-annotations:2.13.3, [19]com.fasterxml.jackson.core.jackson-core:2.13.3, [20]com.fasterxml.jackson.core.jackson-databind:2.13.3, [21]com.fasterxml.jackson.datatype.jackson-datatype-jdk8:2.13.3, [22]com.fasterxml.jackson.datatype.jackson-datatype-jsr310:2.13.3, [23]javax.ws.rs-api:2.0.1}
[2022-06-30 08:15:26] container        Starting jdisc at version 8.8.35
[2022-06-30 08:15:26] container        Installed 'BouncyCastle Security Provider v1.68' as Java Security Provider
[2022-06-30 08:15:26] container-clustercontroller Starting jdisc at version 8.8.35
[2022-06-30 08:15:26] metricsproxy-container Registered provider org.eclipse.jetty.http2.hpack.HpackFieldPreEncoder of service org.eclipse.jetty.http.HttpFieldPreEncoder in bundle container-disc
[2022-06-30 08:15:26] metricsproxy-container Logging initialized @6848ms to org.eclipse.jetty.util.log.Slf4jLog
[2022-06-30 08:15:26] metricsproxy-container Registered provider org.eclipse.jetty.alpn.java.server.JDK9ServerALPNProcessor of service org.eclipse.jetty.io.ssl.ALPNProcessor$Server in bundle container-disc
[2022-06-30 08:15:26] metricsproxy-container Registered provider org.eclipse.jetty.http.Http1FieldPreEncoder of service org.eclipse.jetty.http.HttpFieldPreEncoder in bundle container-disc
[2022-06-30 08:15:26] metricsproxy-container Started bundles: {[1]container-disc:8.8.35, [2]config-bundle:8.8.35, [3]configdefinitions:8.8.35, [4]container-search-and-docproc:8.8.35, [5]container-search-gui:8.8.35, [6]docprocs:8.8.35, [7]hosted-zone-api:8.8.35, [8]jdisc-security-filters:8.8.35, [9]linguistics-components:8.8.35, [10]vespaclient-container-plugin:8.8.35, [11]vespa-athenz:8.8.35, [12]container-apache-http-client-bundle:8.8.35, [13]security-utils:8.8.35, [14]bcpkix:1.68.0, [15]bcprov:1.68.0, [16]javax.servlet-api:3.1.0, [17]container-spifly:1.3.5, [18]com.fasterxml.jackson.core.jackson-annotations:2.13.3, [19]com.fasterxml.jackson.core.jackson-core:2.13.3, [20]com.fasterxml.jackson.core.jackson-databind:2.13.3, [21]com.fasterxml.jackson.datatype.jackson-datatype-jdk8:2.13.3, [22]com.fasterxml.jackson.datatype.jackson-datatype-jsr310:2.13.3, [23]javax.ws.rs-api:2.0.1}
[2022-06-30 08:15:26] container        Connecting to tcp/localhost:19090
[2022-06-30 08:15:26] metricsproxy-container Starting jdisc at version 8.8.35
[2022-06-30 08:15:26] container        [7.402s][info][gc] GC(0) Pause Young (Normal) (G1 Evacuation Pause) 79M->11M(1536M) 35.058ms
[2022-06-30 08:15:26] container-clustercontroller Installed 'BouncyCastle Security Provider v1.68' as Java Security Provider
[2022-06-30 08:15:27] metricsproxy-container Installed 'BouncyCastle Security Provider v1.68' as Java Security Provider
[2022-06-30 08:15:27] container        Using container-disc [1] to lookup current bundles.
[2022-06-30 08:15:27] metricsproxy-container Connecting to tcp/localhost:19090
[2022-06-30 08:15:27] container-clustercontroller Connecting to tcp/localhost:19090
[2022-06-30 08:15:27] container        Installing bundle from disk: /opt/vespa/lib/jars/zkfacade-jar-with-dependencies.jar
[2022-06-30 08:15:27] container        Installing bundle from disk: /opt/vespa/lib/jars/zookeeper-server-jar-with-dependencies.jar
[2022-06-30 08:15:27] container        Installing bundle from disk: /opt/vespa/lib/jars/model-evaluation-jar-with-dependencies.jar
[2022-06-30 08:15:28] container        Installing bundle from disk: /opt/vespa/lib/jars/model-integration-jar-with-dependencies.jar
[2022-06-30 08:15:28] config-sentinel  searchnode: incremented restart penalty to 2.000 seconds
[2022-06-30 08:15:28] config-sentinel  searchnode: incremented restart penalty to 6.000 seconds
[2022-06-30 08:15:28] container        Installing bundles from the latest application
[2022-06-30 08:15:28] container        Bundles to schedule for uninstall: []
[2022-06-30 08:15:28] container-clustercontroller Using container-disc [1] to lookup current bundles.
[2022-06-30 08:15:28] container        Installed bundles: {[0]org.apache.felix.framework:7.0.1, [1]container-disc:8.8.35, [2]config-bundle:8.8.35, [3]configdefinitions:8.8.35, [4]container-search-and-docproc:8.8.35, [5]container-search-gui:8.8.35, [6]docprocs:8.8.35, [7]hosted-zone-api:8.8.35, [8]jdisc-security-filters:8.8.35, [9]linguistics-components:8.8.35, [10]vespaclient-container-plugin:8.8.35, [11]vespa-athenz:8.8.35, [12]container-apache-http-client-bundle:8.8.35, [13]security-utils:8.8.35, [14]bcpkix:1.68.0, [15]bcprov:1.68.0, [16]javax.servlet-api:3.1.0, [17]container-spifly:1.3.5, [18]com.fasterxml.jackson.core.jackson-annotations:2.13.3, [19]com.fasterxml.jackson.core.jackson-core:2.13.3, [20]com.fasterxml.jackson.core.jackson-databind:2.13.3, [21]com.fasterxml.jackson.datatype.jackson-datatype-jdk8:2.13.3, [22]com.fasterxml.jackson.datatype.jackson-datatype-jsr310:2.13.3, [23]javax.ws.rs-api:2.0.1, [24]zkfacade:8.8.35, [25]zookeeper-server:8.8.35, [26]model-evaluation:8.8.35, [27]model-integration:8.8.35}
[2022-06-30 08:15:28] metricsproxy-container Using container-disc [1] to lookup current bundles.
[2022-06-30 08:15:28] container-clustercontroller Installing bundle from disk: /opt/vespa/lib/jars/zkfacade-jar-with-dependencies.jar
[2022-06-30 08:15:28] metricsproxy-container Installing bundle from disk: /opt/vespa/lib/jars/zkfacade-jar-with-dependencies.jar
[2022-06-30 08:15:28] metricsproxy-container Installing bundle from disk: /opt/vespa/lib/jars/zookeeper-server-jar-with-dependencies.jar
[2022-06-30 08:15:28] container-clustercontroller Installing bundle from disk: /opt/vespa/lib/jars/zookeeper-server-jar-with-dependencies.jar
[2022-06-30 08:15:28] container-clustercontroller Installing bundle from disk: /opt/vespa/lib/jars/clustercontroller-apps-jar-with-dependencies.jar
[2022-06-30 08:15:28] metricsproxy-container Installing bundle from disk: /opt/vespa/lib/jars/metrics-proxy-jar-with-dependencies.jar
[2022-06-30 08:15:28] container-clustercontroller Installing bundle from disk: /opt/vespa/lib/jars/clustercontroller-core-jar-with-dependencies.jar
[2022-06-30 08:15:28] container-clustercontroller Installing bundle from disk: /opt/vespa/lib/jars/clustercontroller-reindexer-jar-with-dependencies.jar
[2022-06-30 08:15:28] container-clustercontroller Installing bundle from disk: /opt/vespa/lib/jars/clustercontroller-utils-jar-with-dependencies.jar
[2022-06-30 08:15:28] container-clustercontroller Installing bundle from disk: /opt/vespa/lib/jars/zookeeper-server-jar-with-dependencies.jar
[2022-06-30 08:15:29] metricsproxy-container Installing bundles from the latest application
[2022-06-30 08:15:29] metricsproxy-container Bundles to schedule for uninstall: []
[2022-06-30 08:15:29] metricsproxy-container Installed bundles: {[0]org.apache.felix.framework:7.0.1, [1]container-disc:8.8.35, [2]config-bundle:8.8.35, [3]configdefinitions:8.8.35, [4]container-search-and-docproc:8.8.35, [5]container-search-gui:8.8.35, [6]docprocs:8.8.35, [7]hosted-zone-api:8.8.35, [8]jdisc-security-filters:8.8.35, [9]linguistics-components:8.8.35, [10]vespaclient-container-plugin:8.8.35, [11]vespa-athenz:8.8.35, [12]container-apache-http-client-bundle:8.8.35, [13]security-utils:8.8.35, [14]bcpkix:1.68.0, [15]bcprov:1.68.0, [16]javax.servlet-api:3.1.0, [17]container-spifly:1.3.5, [18]com.fasterxml.jackson.core.jackson-annotations:2.13.3, [19]com.fasterxml.jackson.core.jackson-core:2.13.3, [20]com.fasterxml.jackson.core.jackson-databind:2.13.3, [21]com.fasterxml.jackson.datatype.jackson-datatype-jdk8:2.13.3, [22]com.fasterxml.jackson.datatype.jackson-datatype-jsr310:2.13.3, [23]javax.ws.rs-api:2.0.1, [24]zkfacade:8.8.35, [25]zookeeper-server:8.8.35, [26]com.yahoo.vespa.metrics-proxy:8.8.35}
[2022-06-30 08:15:29] container-clustercontroller Installing bundles from the latest application
[2022-06-30 08:15:29] container-clustercontroller Bundles to schedule for uninstall: []
[2022-06-30 08:15:29] container-clustercontroller Installed bundles: {[0]org.apache.felix.framework:7.0.1, [1]container-disc:8.8.35, [2]config-bundle:8.8.35, [3]configdefinitions:8.8.35, [4]container-search-and-docproc:8.8.35, [5]container-search-gui:8.8.35, [6]docprocs:8.8.35, [7]hosted-zone-api:8.8.35, [8]jdisc-security-filters:8.8.35, [9]linguistics-components:8.8.35, [10]vespaclient-container-plugin:8.8.35, [11]vespa-athenz:8.8.35, [12]container-apache-http-client-bundle:8.8.35, [13]security-utils:8.8.35, [14]bcpkix:1.68.0, [15]bcprov:1.68.0, [16]javax.servlet-api:3.1.0, [17]container-spifly:1.3.5, [18]com.fasterxml.jackson.core.jackson-annotations:2.13.3, [19]com.fasterxml.jackson.core.jackson-core:2.13.3, [20]com.fasterxml.jackson.core.jackson-databind:2.13.3, [21]com.fasterxml.jackson.datatype.jackson-datatype-jdk8:2.13.3, [22]com.fasterxml.jackson.datatype.jackson-datatype-jsr310:2.13.3, [23]javax.ws.rs-api:2.0.1, [24]zkfacade:8.8.35, [25]zookeeper-server:8.8.35, [26]clustercontroller-apps:8.8.35, [27]clustercontroller-core:8.8.35, [28]clustercontroller-reindexer:8.8.35, [29]clustercontroller-utils:8.8.35}
[2022-06-30 08:15:29] searchnode       Filedistributorrpc config is changed
[2022-06-30 08:15:30] searchnode       Add document database: doctypename(file), configid(stack/search/cluster.stack/file)
[2022-06-30 08:15:31] searchnode       Add document database: doctypename(filter), configid(stack/search/cluster.stack/filter)
[2022-06-30 08:15:31] searchnode       vespa-proton-bin: /builddir/build/BUILD/vespa-8.8.35/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp:433: void proton::DocumentDB::applySubDBConfig(const proton::DocumentDBConfig&, proton::DocumentDB::SerialNum, const proton::ReconfigParams&): Assertion `newDocType != nullptr' failed.
[2022-06-30 08:15:32] container        [13.078s][info][gc] GC(1) Pause Young (Normal) (G1 Evacuation Pause) 78M->15M(1536M) 60.279ms
[2022-06-30 08:15:33] config-sentinel  searchnode: incremented restart penalty to 14.000 seconds
[2022-06-30 08:15:33] config-sentinel  searchnode: incremented restart penalty to 30.000 seconds
[2022-06-30 08:15:33] config-sentinel  searchnode: will delay start by 25.133 seconds
[2022-06-30 08:15:33] metricsproxy-container Threadpool 'default-pool': min=2, max=2, queue=50
[2022-06-30 08:15:34] container-clustercontroller Creating janitor executor with 2 threads
[2022-06-30 08:15:34] container-clustercontroller Threadpool size: min=4, max=4
[2022-06-30 08:15:34] container-clustercontroller Threadpool 'default-pool': min=2, max=2, queue=50
[2022-06-30 08:15:35] metricsproxy-container Creating janitor executor with 2 threads
[2022-06-30 08:15:35] metricsproxy-container Threadpool size: min=4, max=4
[2022-06-30 08:15:35] metricsproxy-container Changing health status code from 'initializing' to 'up'
[2022-06-30 08:15:36] metricsproxy-container jetty-9.4.46.v20220331; built: 2022-03-31T16:38:08.030Z; git: bc17a0369a11ecf40bb92c839b9ef0a8ac50ea18; jvm 17.0.3+7-LTS
[2022-06-30 08:15:36] metricsproxy-container Started o.e.j.s.ServletContextHandler@5a1dddba{19092,/,null,AVAILABLE}
[2022-06-30 08:15:36] metricsproxy-container Started<EMAIL_ADDRESS>(http/1.1, h2c)}{<IP_ADDRESS>:19092}
[2022-06-30 08:15:36] metricsproxy-container Started @16767ms
[2022-06-30 08:15:36] metricsproxy-container Switching to the latest deployed set of configurations and components. Application config generation: 4
[2022-06-30 08:15:36] container-clustercontroller Changing health status code from 'initializing' to 'up'
[2022-06-30 08:15:36] metricsproxy-container Registered name 'vespa/service/admin/metrics/ip-172-31-25-124.ec2.internal' at tcp/ip-172-31-25-124.ec2.internal:19094 with: [tcp/ip-172-31-25-124.ec2.internal:19099]
[2022-06-30 08:15:36] metricsproxy-container [RPC @ tcp/ip-172-31-25-124.ec2.internal:19094] registering vespa/service/admin/metrics/ip-172-31-25-124.ec2.internal with location broker tcp/ip-172-31-25-124.ec2.internal:19099 completed successfully
[2022-06-30 08:15:36] container        [17.062s][info][gc] GC(2) Pause Young (Normal) (G1 Evacuation Pause) 87M->17M(1536M) 37.726ms
[2022-06-30 08:15:36] container        [17.429s][info][gc] GC(3) Pause Young (Normal) (G1 Evacuation Pause) 87M->17M(1536M) 59.652ms
[2022-06-30 08:15:37] container        [17.592s][info][gc] GC(4) Pause Young (Normal) (G1 Evacuation Pause) 107M->17M(1536M) 5.610ms
[2022-06-30 08:15:37] container-clustercontroller Cluster 'stack': Created
[2022-06-30 08:15:37] container-clustercontroller successfully connected to location broker tcp/ip-172-31-25-124.ec2.internal:19099 (mirror initialized with 3 service names)
[2022-06-30 08:15:37] container        [18.078s][info][gc] GC(5) Pause Young (Concurrent Start) (Metadata GC Threshold) 414M->17M(1536M) 10.093ms
[2022-06-30 08:15:37] container        [18.078s][info][gc] GC(6) Concurrent Mark Cycle
[2022-06-30 08:15:37] container-clustercontroller Cluster 'stack': Starting tick loop
[2022-06-30 08:15:37] container-clustercontroller Cluster 'stack': Setting up new ZooKeeper session at ip-172-31-25-124.ec2.internal:2181
[2022-06-30 08:15:37] container        [18.144s][info][gc] GC(6) Pause Remark 17M->17M(1536M) 24.356ms
[2022-06-30 08:15:37] container-clustercontroller jetty-9.4.46.v20220331; built: 2022-03-31T16:38:08.030Z; git: bc17a0369a11ecf40bb92c839b9ef0a8ac50ea18; jvm 17.0.3+7-LTS
[2022-06-30 08:15:37] container        [18.171s][info][gc] GC(6) Pause Cleanup 19M->19M(1536M) 0.149ms
[2022-06-30 08:15:37] container        [18.184s][info][gc] GC(6) Concurrent Mark Cycle 106.452ms
[2022-06-30 08:15:37] container-clustercontroller Cluster 'stack': Connection to zookeeper server established. Refetching master data
[2022-06-30 08:15:37] container-clustercontroller Cluster 'stack': Creating ephemeral master vote node with vote to self.
[2022-06-30 08:15:37] container-clustercontroller Cluster 'stack': Done setting up new ZooKeeper session at ip-172-31-25-124.ec2.internal:2181
[2022-06-30 08:15:37] container-clustercontroller Fleetcontroller 0: Got node list response from /vespa/fleetcontroller/stack/indexes version 0 with 1 nodes
[2022-06-30 08:15:37] container-clustercontroller Fleetcontroller 0: Got vote data from path /vespa/fleetcontroller/stack/indexes/0 with code 0 and data 0
[2022-06-30 08:15:37] container-clustercontroller Fleetcontroller 0: Got vote from fleetcontroller 0. Altering vote from null to 0.
[2022-06-30 08:15:37] container-clustercontroller Cluster 'stack': Stored new vote in ephemeral node. 0 -> 0
[2022-06-30 08:15:37] container-clustercontroller Started o.e.j.s.ServletContextHandler@6bce4140{19050,/,null,AVAILABLE}
[2022-06-30 08:15:37] container-clustercontroller Cluster event type MASTER_ELECTION @1656576937983: This node just became node state gatherer as we are fleetcontroller master candidate.
[2022-06-30 08:15:38] container-clustercontroller Started<EMAIL_ADDRESS>(http/1.1, h2c)}{<IP_ADDRESS>:19050}
[2022-06-30 08:15:38] container-clustercontroller Started @18139ms
[2022-06-30 08:15:38] container-clustercontroller Cluster 'stack': Read cluster state version 5 from ZooKeeper (znode version 4)
[2022-06-30 08:15:38] container-clustercontroller Cluster 'stack': Got new fleet data with 1 entries: {0=0}
[2022-06-30 08:15:38] container-clustercontroller Cluster 'stack': Handling new master election, as we have received 1 entries
[2022-06-30 08:15:38] container-clustercontroller Cluster 'stack': Got master election state data(0 -> 0).
[2022-06-30 08:15:38] container-clustercontroller Cluster 'stack': 0 is newly elected master
[2022-06-30 08:15:38] container-clustercontroller Cluster 'stack': Read cluster state version 5 from ZooKeeper (znode version 4)
[2022-06-30 08:15:38] container-clustercontroller Switching to the latest deployed set of configurations and components. Application config generation: 4
[2022-06-30 08:15:38] container-clustercontroller Cluster 'stack': Loaded previous cluster state bundle from ZooKeeper: ClusterStateBundle('version:5 cluster:d bits:8 distributor:1 .0.t:1656576189', default 'version:5 cluster:d bits:8 distributor:1 .0.t:1656576189', global 'version:5 cluster:d bits:8 distributor:1 .0.t:1656576189')
[2022-06-30 08:15:38] container-clustercontroller Cluster event type MASTER_ELECTION @1656576938063: This node just became fleetcontroller master. Bumped version to 5 to be in line.
[2022-06-30 08:15:38] container-clustercontroller Added node only event: Event: distributor.0: Altered min distribution bit count from 16 to 58
[2022-06-30 08:15:38] container-clustercontroller Registered name 'vespa/service/admin/cluster-controllers/0' at tcp/ip-172-31-25-124.ec2.internal:19116 with: [tcp/ip-172-31-25-124.ec2.internal:19099]
[2022-06-30 08:15:38] container-clustercontroller [RPC @ tcp/ip-172-31-25-124.ec2.internal:19116] registering vespa/service/admin/cluster-controllers/0 with location broker tcp/ip-172-31-25-124.ec2.internal:19099 completed successfully
[2022-06-30 08:15:39] container        Threadpool 'default-pool': min=8, max=200, queue=0
[2022-06-30 08:15:39] container        Starting cluster monitor thread search.clustermonitor.dispatcher.stack
[2022-06-30 08:15:40] container        Taking search node key = 0 hostname = ip-172-31-25-124.ec2.internal path = 0 in group 0 statusIsKnown = false working = true activeDocs = 0 out of service: Connection failure: 10: Backend communication error: Error response from rpc node connection to ip-172-31-25-124.ec2.internal:19106: Connection error
[2022-06-30 08:15:42] container        [23.438s][info][gc] GC(7) Pause Young (Normal) (G1 Evacuation Pause) 976M->57M(1536M) 63.406ms
[2022-06-30 08:15:43] container        [24.087s][info][gc] GC(8) Pause Young (Normal) (G1 Evacuation Pause) 209M->58M(1536M) 50.502ms
[2022-06-30 08:15:44] container        Threadpool 'search-handler': min=8, max=8, queue=650
[2022-06-30 08:15:44] container        Creating janitor executor with 2 threads
[2022-06-30 08:15:44] container        Threadpool size: min=18, max=18
[2022-06-30 08:15:45] container        successfully connected to location broker tcp/ip-172-31-25-124.ec2.internal:19099 (mirror initialized with 4 service names)
[2022-06-30 08:15:45] container        successfully connected to location broker tcp/ip-172-31-25-124.ec2.internal:19099 (mirror initialized with 4 service names)
[2022-06-30 08:15:45] container        Threadpool 'feedapi-handler': min=8, max=8, queue=500
[2022-06-30 08:15:45] container        jetty-9.4.46.v20220331; built: 2022-03-31T16:38:08.030Z; git: bc17a0369a11ecf40bb92c839b9ef0a8ac50ea18; jvm 17.0.3+7-LTS
[2022-06-30 08:15:45] container        Started o.e.j.s.ServletContextHandler@8d7718e{8080,/,null,AVAILABLE}
[2022-06-30 08:15:45] container        Started<EMAIL_ADDRESS>(http/1.1, h2c)}{<IP_ADDRESS>:8080}
[2022-06-30 08:15:45] container        Started @26246ms
[2022-06-30 08:15:45] container        [26.243s][info][gc] GC(9) Pause Young (Concurrent Start) (Metadata GC Threshold) 389M->63M(1536M) 12.984ms
[2022-06-30 08:15:45] container        [26.243s][info][gc] GC(10) Concurrent Mark Cycle
[2022-06-30 08:15:45] container        [RPC @ tcp/ip-172-31-25-124.ec2.internal:19101] registering default/container.0/chain.indexing with location broker tcp/ip-172-31-25-124.ec2.internal:19099 completed successfully
[2022-06-30 08:15:45] container        Switching to the latest deployed set of configurations and components. Application config generation: 4
[2022-06-30 08:15:45] container        [26.395s][info][gc] GC(10) Pause Remark 84M->83M(1536M) 5.413ms
[2022-06-30 08:15:45] container        Registered name 'vespa/service/default/container.0' at tcp/ip-172-31-25-124.ec2.internal:19102 with: [tcp/ip-172-31-25-124.ec2.internal:19099]
[2022-06-30 08:15:45] container        [26.443s][info][gc] GC(10) Pause Cleanup 84M->84M(1536M) 0.205ms
[2022-06-30 08:15:45] container        [RPC @ tcp/ip-172-31-25-124.ec2.internal:19102] registering vespa/service/default/container.0 with location broker tcp/ip-172-31-25-124.ec2.internal:19099 completed successfully
[2022-06-30 08:15:45] container        [26.468s][info][gc] GC(10) Concurrent Mark Cycle 224.727ms
[2022-06-30 08:15:58] searchnode       Filedistributorrpc config is changed
[2022-06-30 08:15:58] searchnode       Add document database: doctypename(file), configid(stack/search/cluster.stack/file)
[2022-06-30 08:15:59] searchnode       Add document database: doctypename(filter), configid(stack/search/cluster.stack/filter)
[2022-06-30 08:15:59] searchnode       vespa-proton-bin: /builddir/build/BUILD/vespa-8.8.35/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp:433: void proton::DocumentDB::applySubDBConfig(const proton::DocumentDBConfig&, proton::DocumentDB::SerialNum, const proton::ReconfigParams&): Assertion `newDocType != nullptr' failed.
[2022-06-30 08:15:59] config-sentinel  searchnode: incremented restart penalty to 62.000 seconds
[2022-06-30 08:15:59] config-sentinel  searchnode: incremented restart penalty to 126.000 seconds
[2022-06-30 08:15:59] config-sentinel  searchnode: will delay start by 124.894 seconds
[2022-06-30 08:16:08] container-clustercontroller Added node only event: Event: distributor.0: Altered node state in cluster state from 'U, t<PHONE_NUMBER>' to 'U, t<PHONE_NUMBER>, b 58'
[2022-06-30 08:16:08] container-clustercontroller Cluster event type SYSTEMSTATE @1656576968128: New cluster state version 6. Change from last: version: 5 => 6, storage: 0: description:  => Node not seen in slobrok., distributor: 0: [minUsedBits: 16 => 58, startTimestamp:<PHONE_NUMBER> =><PHONE_NUMBER>]
[2022-06-30 08:16:08] container-clustercontroller Cluster 'stack': Storing new cluster state version in ZooKeeper: 6
[2022-06-30 08:16:08] container-clustercontroller Cluster 'stack': Master moratorium complete: timed out waiting for all nodes to report in
[2022-06-30 08:16:08] container-clustercontroller Cluster 'stack': Publishing cluster state version 6
[2022-06-30 08:16:08] distributor      Distributor node ready. Done initializing. Giving out of sequence metric event. Config id is stack/distributor/0
[2022-06-30 08:16:08] distributor      Transitioning from baseline state 'Down' to 'Up' (cluster state version 6)
[2022-06-30 08:16:08] container-clustercontroller Cluster event type SYSTEMSTATE @1656576968164: Reset 1 start timestamps as all available distributors have seen newest cluster state.
[2022-06-30 08:18:04] searchnode       Filedistributorrpc config is changed
[2022-06-30 08:18:05] searchnode       Add document database: doctypename(file), configid(stack/search/cluster.stack/file)
[2022-06-30 08:18:05] searchnode       Add document database: doctypename(filter), configid(stack/search/cluster.stack/filter)
[2022-06-30 08:18:05] searchnode       vespa-proton-bin: /builddir/build/BUILD/vespa-8.8.35/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp:433: void proton::DocumentDB::applySubDBConfig(const proton::DocumentDBConfig&, proton::DocumentDB::SerialNum, const proton::ReconfigParams&): Assertion `newDocType != nullptr' failed.
[2022-06-30 08:18:05] config-sentinel  searchnode: incremented restart penalty to 254.000 seconds
[2022-06-30 08:18:05] config-sentinel  searchnode: incremented restart penalty to 510.000 seconds
[2022-06-30 08:18:05] config-sentinel  searchnode: will delay start by 508.840 seconds

@geirst  we are not sure what can trigger
[2022-06-30 08:15:59] searchnode       vespa-proton-bin: /builddir/build/BUILD/vespa-8.8.35/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp:433: void proton::DocumentDB::applySubDBConfig(const proton::DocumentDBConfig&, proton::DocumentDB::SerialNum, const proton::ReconfigParams&): Assertion `newDocType != nullptr' failed.

Is there anyway to get the data from the node?

@sirganya : First we need to find out what is wrong with the internal state of the content node. The assert that is triggered indicates that one document type is not present in the document types config that is stored on disk.
Can you please run the following 4 commands and paste the output here?
Run all commands inside the following directory: /opt/vespa/var/db/vespa/search/cluster.X/nY/documents, where X is the name of the content cluster and Y is the distribution key for that content node.
ls
find . -name documenttypes.cfg -ls
find . -name documenttypes.cfg | xargs md5sum
find . -name documenttypes.cfg | xargs grep -H -E "^(documenttype|doctype)\[[0-9]+\]\.name "

Thanks! Can you also paste the content of ./file/config/config-28/documenttypes.cfg, as this is different from all other instances of this file.

just one line
enablecompression false

Please run the following command to repair the broken documenttypes.cfg file. Then try to start Vespa again.
cp -p file/config/config-1/documenttypes.cfg file/config/config-28/documenttypes.cfg

That is great @sirganya!
To fully understand how the content node ended up in this state, can you please answer these questions?

Which procedure did you follow when upgrading to 7.594.36? The more detailed the steps the better.
Which version did you upgrade from?
What is the topology of your application (how many content nodes etc)?

In Vespa 7.569.71 we extended documenttypes.def with a new model for how datatypes are configured (f135ba6e2817a7819ae81591e8f73913d1e79355), and the config-model produced both the old (documenttype*) and the new model (doctype*). In Vespa 7.573.29 we stopped producing the old model from the config-model (4dbf00faa83362bfe0f25ef1f2d689a4d58b05ab).
We assume the following happened in this system:

The system was running Vespa version X that was older than 7.569.71.
The application nodes (e.g. content nodes) were not detached from the config proxy before the config server was upgraded.
The config server was upgraded to 7.594.36.
The content nodes (still running on version X) received config produced on version 7.594.36 as they were not detached. The documenttypes config contained only the new model (doctype*) which vespa-proton-bin didn't understand as it was running with an older version of documenttypes.def. The result was an almost empty config (ignoring all fields not known) which was persisted on disk (file/config/config-28/documenttypes.cfg).
The content nodes were upgraded to 7.594.36, and after restarting them the assert was triggered.

A vital step when live-upgrading Vespa is the detachment of applications nodes from the config proxy. This wasn't clear enough in the documentation before. This has been improved in https://github.com/vespa-engine/documentation/pull/2147. The procedure should be clear now: https://docs.vespa.ai/en/operations/live-upgrade.html.

Hi,
I had created a centos EC2 instance and installed Vespa on that in March 2021. I'm not sure what the version was at that point but I used yum to install it.
The command I used was yum update.
It sounds exactly like the issue was as you described. Thanks for the help.


Dspace 7 shibboleth (REST)

This PR provide changes to make the shibboleth authentication work as discussed in DS-4396
A summary of what is done with this PR:

add a new ShibbolethRestController
add a new ShibbolethAuthenticationFilter
add the possibility to check a JWT token saved in a http cookie sent from client

As discussed in the issue DS-4396 this implementation doesn't handle the Access-Control-Allow-Origin header in the response to avoid CORS problem.
To solve it, we use in the rest VH the following apache configuration :
# enable CORS headers for dspace7-demo.atmire.com and localhost
SetEnvIf Origin "^http(s)?://(www\.)?(dspace7\-demo\.atmire\.com|localhost|127\.0\.0\.1)$" AccessControlAllowOrigin=$0
  Header set Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
  Header set Access-Control-Allow-Credentials true env=AccessControlAllowOrigin
  Header set Access-Control-Expose-Headers: "Authorization, expires, Location, Content-Disposition, WWW-Authenticate, Set-Cookie, X-Requested-With"
  Header merge Vary Origin

this PR has been already merged in the dspace-cris 7 codebase so it is possible to see the behavior here: https://dspacecris7.4science.cloud/home

I've re-reviewed this branch, and the only issue I noticed now was with the shibboleth lazy session login URL which redirected me to /server/Shibboleth.sso/Login now.
If this can be resolved, I can test once more with the UI and REST on a separate URL using the CORS headers
I have one more question: Is it possible to implement the CORS headers in REST for the login URL endpoint (instead of depending on an Apache config)? I didn't verify how the CORS wildcard headers are currently set in REST.

@benbosman

I've re-reviewed this branch, and the only issue I noticed now was with the shibboleth lazy session login URL which redirected me to /server/Shibboleth.sso/Login now.

You are right I've changed the default value here but I realized that dspace.baseUrl can't be use because it contain /server, I'll fix it in an other way. Anyway if you want to test you can simply overwrite the default value with the correct url in your local.cfg

If this can be resolved, I can test once more with the UI and REST on a separate URL using the CORS headers

I put here the right apache configuration that allows to login with localhost too :
# enable CORS headers for dspace7-demo.atmire.com and localhost
SetEnvIf Origin "^http(s)?://(www\.)?(dspace7\-demo\.atmire\.com|localhost\:3000|127\.0\.0\.1\:3000)$" AccessControlAllowOrigin=$0
  Header set Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
  Header set Access-Control-Allow-Credentials true env=AccessControlAllowOrigin
  Header set Access-Control-Expose-Headers: "Authorization, expires, Location, Content-Disposition, WWW-Authenticate, Set-Cookie, X-Requested-With"
  Header merge Vary Origin

it must contain the 3000 port to avoid CORS errors when you test on http://localhost:3000

I have one more question: Is it possible to implement the CORS headers in REST for the login URL endpoint (instead of depending on an Apache config)? I didn't verify how the CORS wildcard headers are currently set in REST.

The plan is to have a final solution where REST will handle CORS header, but as decided here this first implementation use the apache configuration as temporary workaround

I've managed to get Shibboleth authentication (version 3) working with our IdP.
One thing I would like to share with others since I struggled a bit to get it working (and thanks @atarix83 for all the help) is related my apache configuration. I'm using mod proxy to use the same machine with DSpace angular and DSpace Server. One thing I wasn't doing was enable shibboleth sitewide. So, after authentication, with the redirects, I lost the access to the attributes. I've something like this. I hope it help others.
     ProxyPass /server ajp://localhost:8009/server
     ProxyPass /Shibboleth.sso !

    <Location />
        Order deny,allow
        Allow from all
        AuthType shibboleth
        ShibUseHeaders On
        Require shibboleth
    </Location>

One feature I would like to see in this PR it's the ability to logout. Currently the logout process is only a local session termination. After it, if I again click on shibboleth authentication, the old session is reused. This is a big issue for shared computers. I will need a dig a bit and will try to provide more feedback.

Logout:  please don't make the mistake that we made here with CAS.  Here everything has a single logout button that invalidates the CAS session.  Thus if I logout of anything I'm logged out of everything, which is almost always not what I wanted.  This has trained me to never logout from CASified applications.  And that has taught me that SSOified applications may need two logout buttons:  invalidate this application session, and (optionally) invalidate my SSO session.

@paulo-graca
You won't need to expose the Shibboleth header on entire REST as you specified above:

     ProxyPass /server ajp://localhost:8009/server
     ProxyPass /Shibboleth.sso !

    <Location /server>
        Order deny,allow
        Allow from all
        AuthType shibboleth
        ShibUseHeaders On
        Require shibboleth
    </Location>

If you want to limit what uses the Shibboleth headers, /server/api/authn/shibboleth and /server/api/authn/login should suffice

@benbosman
I've done changes requested

@benbosman Did you tested shibboleth authentication on a server after the upgrade to java 11 ? I've tried to install this PR but it doesn't work, indeed after been logged in with shibboleth on redirect to dspace I get a 403 forbidden. This is not related to this implementation because the same behaviour occurs also on the  demo rest server.
Could you let me know if that works for you?

I've just created: https://jira.lyrasis.org/browse/DS-4464 to address the need of a Central Authentication Service Logout solution.

@atarix83 how is the https://dspace7.4science.cloud currently configured to work with Shibboleth:

Are you using Apache 2.2, 2.4?
Are you using mod_http or mod_ajp to proxy to tomcat
Which config are you using in shib.conf?

I noticed I used to be able to use Shibboleth with the previous codebase: that was based on Apache 2.2, mod_ajp
I now use a new server, containing a more recent version of Java, tomcat, Apache 2.4, mod_ajp, and I am encountering the same issue. It seems like there's a conflict with the setup
@paulo-graca which setup are you using the test the Shibboleth integration?

@benbosman
We are using Apache 2.4, tomcat 9.0.31 and mod_jk to proxy to tomcat.
How did you solve it?

@atarix83 I don't use mod_jk, but rather mod_ajp
What solved the problem for me was to remove the attribute attributePrefix="AJP_" in the ApplicationDefaults of shibboleth2.xml
AFAIK, after logging in with Shibboleth, your requests no longer are sent to Tomcat, and I did encounter that problem as well when that attribute was present.
If that doesn't work, can you share your config similar to what Paulo did on the wiki?

Looks good to me, and I see this is already at +2 from Paulo & Ben.  Instructions for setup are drafted at https://wiki.lyrasis.org/display/DSPACE/DSpace+7+Shibboleth+Configuration


Sécurité - Worker

celery lancé en root.
Mode DEBUG activé.

Warning
/usr/local/lib/python3.10/site-packages/celery/platforms.py:840:
SecurityWarning: You're running the worker with superuser privileges: this is absolutely not recommended!
Please specify a different user using the --uid option.
User information: uid=0 euid=0 gid=0 egid=0
warnings.warn(SecurityWarning(ROOT_DISCOURAGED.format
[...]
/usr/local/lib/python3.10/site-packages/celery/fixups/django.py:203:
UserWarning: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
warnings.warn('''Using settings.DEBUG leads to a memory

cf. #400


After modifing the settings.txt, It doesn't work.I can't use proxy and mirror url

If this is a question about how to use NVM4W, please use stackoverflow instead.
If this is an issue regarding antivirus, make sure you search the existing issues first.
My Environment

[x] Windows 7 or below (not truly supported due to EOL - see wiki for details)

[ ] Windows 8

[ ] Windows 8.1

[ ] Windows 10

[ ] Windows 10 IoT Core

[ ] Windows Server 2012

[ ] Windows Server 2012 R2

[ ] Windows Server 2016

[x] My Windows installation is non-English.

I have already...

[x] read the README to be aware of npm gotchas & antivirus issues.
[x] reviewed the wiki to make sure my issue hasn't already been resolved.
[x] verified I'm using an account with administrative privileges.
[ ] searched the issues (open and closed) to make sure this isn't a duplicate.
[ ] made sure this isn't a question about how to use NVM for Windows, since gitter is used for questions and comments.

My issue is related to (check only those which apply):

[x] settings.txt
[ ] proxy support
[ ] 32 or 64 bit support

Expected Behavior
make the config of 'proxy','npm_mirror','node_mirror' in settings.txt effect.
Actual Behavior
In settings.txt, I write some configs like below:
proxy:http://<IP_ADDRESS>:8080
originalpath:
originalversion:
node_mirror:npm.taobao.org/mirrors/node
npm_mirror:npm.taobao.org/mirrors/npm
but it doesn't effect.
Steps to reproduce the problem:
It doesn't access via the proxy,  node_mirror url and npm_mirror url
I think whether I should do sth after modifing settings.txt.

root: C:\Users\webas\AppData\Roaming\nvm
path: C:\Program Files\nodejs
node_mirror: http://npm.taobao.org/mirrors/node/
npm_mirror: http://npm.taobao.org/mirrors/npm/

@ldzhu is correct. Closing.


SIM111 fix: Double negative is probably not more understandable code

% ruff check --select=SIM111 --fix .
            for field in self:
                if field.value() not in field.field.empty_values:
                    return False
            return True
# -->
            return all(not field.value() not in field.field.empty_values for field in self)  # Double negative!

Heh this has actually been raised a few times. We should probably special-case it by removing both nots?


Added tensorboard link in Readme file

There was not Tensorboard link in Readme file since added a nice one to introduce.

Hi @andrewharp
Can you please look into this pull request?

@rmlarsen
Thanks for approving :)
There is no change in code base. Can we go directly for merge? :)


Add sizes to models

The models can now accept array of sizes, which are related to them

Fix duplications and code smell please
Approve after fixes

Fix duplications and code smell please
Approve after fixes


Terri00 AutoRadar is kind of broke...

There is a displacement error that appends on a displacement it should not analyse.


Dual Y-axis support？

It seems that apexcharts does not currently support dual y-axes.

It does support it
https://apexcharts.com/javascript-chart-demos/mixed-charts/multiple-yaxis/

@junedchhipa thanks


Core and api expansion

Description
This pull request represents a significant update to the Horizon game server project. It includes wide-ranging changes to core functionality, plugins, and documentation, aimed at improving the server's capabilities and developer experience.
Key Changes

Actor System Enhancements: Refactored and expanded the actor system in the core plugin for improved game object management.
Plugin API Improvements: Updated the plugin API and implementation to provide more robust and flexible plugin support.
Server Functionality Updates: Modified main server functionality to accommodate new features and improve performance.

Type of change

[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Additional Notes
This update represents a major step forward for the Horizon project. Due to the extensive nature of the changes, careful review and testing are crucial.

@haywoodspartan @WilliamAnimate The last thing here is to allow plugins to define event listeners (perhaps using @WilliamAnimate 's define_event macro) Once this is in the API and plugins can run a function to get the players array we will be good to merge this.

We did it!!!! Thank you to all who assisted


How to gather results during inference in ddp

❓ Questions and Help
Hi, I am using multiple gpus and ddp mode for model inference. I am wondering how to gather the results from all distributed processes and save them into one file in the test_epoch_end. My code looks like this:
Code
class PLModel(pl.LightningModule):
    def on_test_epoch_start(self):
        self.text_predictions = []

    def test_step(self, batch, batch_idx):
         pred_ids = model(batch)
         pred_texts = ids_to_texts(pred_ids) # some function that converts predicted ids to texts
         self.text_predictions.extend(pred_texts)

    def test_epoch_end(self, outputs):
        # here I want to know how to gather the text_predictions from all processes

        # after gathering
        df_text_predictions = pandas.DataFrame{'predictions': self.text_predictions}
        df_text_predictions.to_csv('predictions.csv', index=False)

What have you tried?
I am able to save the results into separate files in each distributed process. But I have to do post-processing to put all the files together. I want to know how to gather the results automatically so that I don't need to run another script for post-processing.

Accidentally submitted two same issues. Closed the other one....

Accidentally submitted two same issues. Closed the other one....

Hey @tomdzh,
Would you mind trying out the PR #5468 ?
Best,
T.C

Hey @tomdzh,
Would you mind trying out the PR #5468 ?
Best,
T.C

I have the same problem during validation step using 2 gpus I nedd to do some calculations on validation end I get have of results

I have the same problem during validation step using 2 gpus I nedd to do some calculations on validation end I get have of results

I found a solution in this PR, using the detectron2.utils.comm.all_gather

I found a solution in this PR, using the detectron2.utils.comm.all_gather


Use of { as a trigger character under LSP

The Dart language server uses { as a trigger character for code completion. We have a report that this leads to the unfortunate situation where typing the following:
void f() {

can automatically insert } and trigger code completion between the two braces. Pressing the return key at this point causes the top suggestion to be inserted.
I wasn't able to reproduce the behavior, but wanted to ask whether this is expected, and if so what the rationale was for using { as a trigger character.

@DanTup

The reason for using { as a trigger character is to open completion when typing expressions in string interpolation:
var s = '${

This was originally requested in https://github.com/Dart-Code/Dart-Code/issues/476.
However, it's not intended to cause issues as you described, because we "filter" the trigger characters on the server. In the case of {, we specifically check we're at the offset of an interpolated string expression here:
https://github.com/dart-lang/sdk/blob/daa733ef432e9d694f4081697426c32eeb73325e/pkg/analysis_server/lib/src/lsp/handlers/handler_completion.dart#L681-L683
So I'd be interested in more info about the instances where this is happening. Is it possible it's an LSP client other than VS Code (in which case perhaps it's not passing the trigger character over for us to validate?).

Is it possible it's an LSP client other than VS Code (in which case perhaps it's not passing the trigger character over for us to validate?).

It this does turn out to be the case, we could perhaps reduce the set of commit characters, since the client likely advertises (or does not) that it supports CompletionContext in its capabilities (completion.contextSupport). Unfortunately without this context the automatic triggering might be much more unreliable (either not triggering when expected, or unexpectedly triggering on characters out of context) but it might be better to trigger too little than too much.

@bwilkerson just reviewing some LSP issues.. did the response above make sense? Do you have(/can you get) any more info or have you had any more reports of this?

Yes, your response made sense. No, I haven't heard any other reports of this. I'll close this issue as WAI and we'll open a new issue if we get new reports.


Redirect by referer after login without using successHandler.useReferer = true

I'm working in a couple of 2.5.3 Grails apps using the security plugin, one uses the standard login and the other a customized auth filter.
If I go to an URL that doesn't exists inside my app, the app redirects me to the login page (expected), then when I login, I get redirected to that URL that actually doesn't exists (not expected?).
Since the doc says successHandler.useReferer = false by default (http://grails-plugins.github.io/grails-spring-security-core/v3/index.html), I would expect the plugin to redirect to grails.plugin.springsecurity.successHandler.defaultTargetUrl by default.
It seems the plugin or spring sec is using the referer. In the docs it says that successHandler.useReferer is false by default.
I went through the plugin's code and can't find where the useReferer value is used or where is set to false by the plugin (maybe due the complexity of following the references of things that are injected dynamically).
This doesn't affect the functionality of the apps, but is a little annoying because I know the URL is wrong, but the app is showing "you don't have permissions to see this page bla bla bla ..." instead of 404. I would like to differentiate a 401 Unauthorized from a 404 Not Found and control what to do on each case.
I'm wondering if this is a bug and if anyone else is experiencing something similar.
Thanks!

@ppazos what you are describing here is the expected behavior. This does not appear to be a bug.
By default, the user will always be redirected to the requested url after authentication. The referer is not being used.
useReferer is set to false in grails-app/conf/DefaultSecurityConfig.groovy
Requesting a URL which doesn't exist will result in a 403-forbidden status which will display the access denied page.
You can customize this behavior by overriding LoginController.denied() and adding the logic you require.


Built-in client deregistration

Move automated de-registration on graceful shutdown into Sensu Core. This currently exists as a handler in the sensu-plugins-sensu plugin, but it should become a built-in feature in Sensu Core.
See: https://github.com/sensu-plugins/sensu-plugins-sensu/blob/master/bin/handler-sensu-deregister.rb
There is already a PR for this, here: https://github.com/sensu/sensu/pull/1191

@calebhailey I think #1191 looks pretty good. Moving the handler into core I am a little more fuzzy on. Currently debug handler is the only one we ship by default and it's implemented as an extension. Do we want to reimplement the deregistration handler as an extension in sensu-extensions ?  cc @portertech

@cwjohnston for client registration, the server is creating the check (& publishing the check result), when the client is first added to the registry https://github.com/sensu/sensu/blob/master/lib/sensu/server/process.rb#L77 Note the client definition scope merge https://github.com/sensu/sensu/blob/master/lib/sensu/server/process.rb#L80 Perhaps the client should support "deregistration": {} to configure the check result potentially created and published by the Sensu client for deregistration?

https://github.com/sensu/sensu/pull/1191 is pretty close, but I think it needs the same treatment as https://github.com/sensu/sensu/blob/master/lib/sensu/server/process.rb#L77

@portertech I have started to build on #1191 in feature/client-deregistration branch, any thoughts about timing the deregistration event before vs after calling pause? (see https://github.com/sensu/sensu/pull/1191/files#r57937238)

@cwjohnston will need to happen after pause to ensure no additional keepalives are sent after the deregistration check result.

https://github.com/sensu/sensu/pull/1309 is awaiting review.

Looks like this has been merged, so I'm going to go ahead and close this issue. \o/
@cwjohnston will you submit a PR for the docs?


Create Articles “a-test-article-for-the-cms-update”

Automatically generated by Netlify CMS

👷 Deploy Preview for chic-shortbread-66a66b processing.

Name
Link

🔨 Latest commit
deca0692fb61c558620ade72e4d60df70a5e4186

🔍 Latest deploy log
https://app.netlify.com/sites/chic-shortbread-66a66b/deploys/66b42701b99eb800083589c6