cannot create/delete volumes when using the cli Docker EE with UCP

I am trying to create/delete a vsphere docker volume using the docker command as documented here
https://docs.docker.com/datacenter/ucp/2.2/guides/user/access-ucp/cli-based-access/
from my linux workstation (after sourcing the env.sh script downloaded as explained in the doc above)
[root@clh-ansible ~]# docker --version
Docker version 17.06.1-ee-2, build 8e43158
validate connection with UCP control plane
[root@clh-ansible ~]# docker node ls
ID                            HOSTNAME                         STATUS              AVAILABILITY        MANAGER STATUS
03wve9xyds1sef5l4nrjb5cbv     clh-dtr02.am2.cloudra.local      Ready               Active
558iotb56vy6e8n8key94ry8p     clh-ucp01.am2.cloudra.local      Ready               Active              Reachable
gdkl73ad5wdqa5ezybt4advfq *   clh-ucp03.am2.cloudra.local      Ready               Active              Leader
im5q776sr4qk8ljxc5ybzzskk     clh-worker02.am2.cloudra.local   Ready               Active
n51c8zv513vjqbcnkor0dtnr7     clh-dtr03.am2.cloudra.local      Ready               Active
nvw9stst1wet4havzsmsjolyf     clh-worker03.am2.cloudra.local   Ready               Active
psagy87us4fzm9vphvueecrmm     clh-worker01.am2.cloudra.local   Ready               Active
tkwu2qt6ptwiplmukut8thcvx     clh-dtr01.am2.cloudra.local      Ready               Active
us29daujkrefnm9uj685niol7     clh-ucp02.am2.cloudra.local      Ready               Active              Reachable
create a docker volume
[root@clh-ansible ~]# docker volume create -d vsphere issue01
issue01
verify that the volume was created (it was not)
[root@clh-ansible ~]# docker volume ls | grep issue
[root@clh-ansible ~]#
now try the same from a node in the swarm (clh-ucp01)
[root@clh-ucp01 ~]# docker --version
Docker version 17.06.1-ee-2, build 8e43158
[root@clh-ucp01 ~]#
docker volume ls | grep issue

we confirm the volume is not here, try to create another one from the ucp node
[root@clh-ucp01 ~]#  docker volume create -d vsphere issue02
issue02
[root@clh-ucp01 ~]# docker volume ls | grep issue
vsphere:latest      issue02@Docker_CLH
it works!!
now exit clh-ucp01 and go back to the WS cli
[root@clh-ucp01 ~]#
[root@clh-ucp01 ~]#
[root@clh-ucp01 ~]# exit
logout
Connection to clh-ucp01 closed.
confirm we see the new volume
[root@clh-ansible ~]# docker volume ls | grep issue
vsphere:latest      issue02@Docker_CLH
vsphere:latest      issue02@Docker_CLH
vsphere:latest      issue02@Docker_CLH
vsphere:latest      issue02@Docker_CLH
vsphere:latest      issue02@Docker_CLH
vsphere:latest      issue02@Docker_CLH
vsphere:latest      issue02@Docker_CLH
vsphere:latest      issue02@Docker_CLH
vsphere:latest      issue02@Docker_CLH
volume is there (there are 9 nodes in the swarm, hence 9 volumes displayed above)
note that docker volume delete does not work neither from the WS, it works from a node in the swarm

@chris7444 sorry, can you say what is WS? The docker volume driver for Linux will work fine on Linux guest VMs running on an ESX host (as you are able to observe).

@chris7444, could you also post the /var/log/docker-volume-vsphere.log file from the ws node.

@govint WS is a linux WorkStation from which you use the docler cli command as explained in the docker documentation (see above, 2nd line of the issue description) This is not one of the docker node.

@chris7444, thanks for clarifying, let me check this myself and get back to you.

Set up UCP with a docker swarm (3 nodes installed with Ubuntu) installed with 17.07.0-ce (using the CE vs. EE version but am able to repro the issue).
The behavior is the same whether using the docker CLI or the UCP UI to create the volume.
Using docker CLI from a photon OS VM using the certificates bundle downloaded from UCP.

Create a docker volume and it reports the volume as created
root@photon-machine [ ~ ]# docker volume create -d vsphere newCEVol_1
newCEVol_1

Try accessing the volume and it reports the volume doesn't exist.
root@photon-machine [ ~ ]# docker volume inspect newCEVol_1
[]
Error: No such volume: newCEVol_1

The problem is that UCP is issuing the volume creation request to both the worker nodes, while one node succeeds in creating the volume, the other fails because,

Both nodes are trying to create the volume in parallel - the create step succeeds

One node Worker2 successfully creates the volume,
10/27/17 11:56:32 11184359 [Thread-109241] [INFO   ] db_mode='SingleNode (local DB exists)' cmd=create opts={'fstype': 'ext4'} vmgroup=_DEFAULT datastore_url=_VM_DS:// is allowed to execute
10/27/17 11:56:32 11184359 [worker2-VM2.0-sharedVmfs-0._DEFAULT.newCEVol_1] [INFO   ] *** createVMDK: /vmfs/volumes/sharedVmfs-0/dockvols/_DEFAULT/newCEVol_1.vmdk opts={'fstype': 'ext4'} vm_name=worker2-VM2.0 vm_uuid=564da434-72f8-50b6-6ea7-6f729a6d28a5 tenant_uuid=11111111-1111-1111-1111-111111111111 datastore_url=/vmfs/volumes/59b0f5dc-cb967cbf-9d52-020042686308
10/27/17 11:56:32 11184359 [Thread-109242] [WARNING] Volume size not specified
10/27/17 11:56:32 11184359 [Thread-109242] [INFO   ] db_mode='SingleNode (local DB exists)' cmd=create opts={'fstype': 'ext4'} vmgroup=_DEFAULT datastore_url=_VM_DS:// is allowed to execute
10/27/17 11:56:32 11184359 [worker2-VM2.0-sharedVmfs-0._DEFAULT.newCEVol_1] [WARNING] Volume size not specified
10/27/17 11:56:32 11184359 [worker2-VM2.0-sharedVmfs-0._DEFAULT.newCEVol_1] [INFO   ] executeRequest 'create' completed with ret=None
The other node Worker1 finds the volume is already there,
10/27/17 11:56:32 11184359 [worker1-VM1.0-sharedVmfs-0._DEFAULT.newCEVol_1] [INFO   ] *** createVMDK: /vmfs/volumes/sharedVmfs-0/dockvols/_DEFAULT/newCEVol_1.vmdk opts={'fstype': 'ext4'} vm_name=worker1-VM1.0 vm_uuid=564dd2d5-d43d-a934-4dd4-74e64d1885ab tenant_uuid=11111111-1111-1111-1111-111111111111 datastore_url=/vmfs/volumes/59b0f5dc-cb967cbf-9d52-020042686308
10/27/17 11:56:32 11184359 [worker1-VM1.0-sharedVmfs-0._DEFAULT.newCEVol_1] [WARNING] File /vmfs/volumes/sharedVmfs-0/dockvols/_DEFAULT/newCEVol_1.vmdk already exists
10/27/17 11:56:32 11184359 [worker1-VM1.0-sharedVmfs-0._DEFAULT.newCEVol_1] [INFO   ] executeRequest 'create' completed with ret=None

When both nodes attach the volume to format it, one succeeds and formats the volume while the other gets an error (since a VMDK can be attached to only one VM at a time).
The first VM formats the VMDK and detaches it, the second (that got the error in (2) above) executes an error path and removes the volume.

Worker2 successfully created the volume and detaches it,
10/27/17 11:56:35 11184359 [worker2-VM2.0-sharedVmfs-0._DEFAULT.newCEVol_1] [INFO   ] *** disk_detach: VMDK /vmfs/volumes/sharedVmfs-0/dockvols/_DEFAULT/newCEVol_1.vmdk to VM 'worker2-VM2.0' , bios uuid = 564da434-72f8-50b6-6ea7-6f729a6d28a5, VC uuid=52f4106e-89a5-3d37-cdd7-09866a9519ef)
10/27/17 11:56:35 11184359 [worker2-VM2.0-sharedVmfs-0._DEFAULT.newCEVol_1] [INFO   ] Found vm name='worker2-VM2.0'
10/27/17 11:56:35 11184359 [MainThread] [INFO   ] Started new thread :<PHONE_NUMBER>12 with target <function execRequestThread at 0x8de2535048> and args (12, 11983751, b'{"cmd":"remove","details":{"Name":"newCEVol_1"},"version":"2"}')
10/27/17 11:56:35 11184359 [worker2-VM2.0-sharedVmfs-0._DEFAULT.newCEVol_1] [INFO   ] Disk detached /vmfs/volumes/sharedVmfs-0/dockvols/_DEFAULT/newCEVol_1.vmdk
While Worker1 that got an error when trying to format the volume goes ahead and removes it,
10/27/17 11:56:36 11184359 [Thread-109246] [INFO   ] db_mode='SingleNode (local DB exists)' cmd=remove opts={} vmgroup=_DEFAULT datastore_url=_VM_DS:// is allowed to execute
10/27/17 11:56:36 11184359 [worker1-VM1.0-sharedVmfs-0._DEFAULT.newCEVol_1] [INFO   ] *** removeVMDK: /vmfs/volumes/sharedVmfs-0/dockvols/_DEFAULT/newCEVol_1.vmdk
10/27/17 11:56:36 11184359 [worker1-VM1.0-sharedVmfs-0._DEFAULT.newCEVol_1] [INFO   ] *** cleanVMDK: /vmfs/volumes/sharedVmfs-0/dockvols/_DEFAULT/newCEVol_1.vmdk
10/27/17 11:56:36 11184359 [Thread-109247] [INFO   ] db_mode='SingleNode (local DB exists)' cmd=get opts={} vmgroup=_DEFAULT datastore_url=_VM_DS:// is allowed to execute
10/27/17 11:56:36 11184359 [worker1-VM1.0-sharedVmfs-0._DEFAULT.newCEVol_1] [INFO   ] executeRequest 'remove' completed with ret=None
So,

Why does UCP even send the create request to both the worker nodes? Seems like a bug in UCP. Got a response on slack that this is expected and the plugin must handle an existing volume gracefully!

On the vSphere plugin side we could enhance the plugin to terminate early when a volume of the requested name already exists vs. attempting to recreate it and then fail and remove the volume. If two requests are being made from two separate VMs (as in this case) one node must gracefully complete vs, failing.

I'll post a PR to fix this.

Raised issue on docker UCP #35334  (https://github.com/moby/moby/issues/35334)

Also related to issue https://github.com/moby/moby/issues/34664. Fix in UCP will be in by 2.2.4 or 3.0.0.
I'd prefer not to update the changes I have into the code till we have the fix in UCP. The changes are showing an issue only for UCP at this point and hence no point submitting the changes rightaway.

@govint to follow up with Docker folks about the timeline of the availability of fixes for moby/moby#34664 and moby/moby#35334

Please take note that I don;t have the issue with the vieux/sshfs docker volume plugin (see below) nor with the HPE 3PAR docker volume plugin (not shown here)
I consider this problem critical,  the only way to create vsphere docker volumes is to have the end user connect to  a worker node on which there is no role based access control
Regards
Chris
[root@clh-ansible certs.clh]# . env.sh
[root@clh-ansible certs.clh]# export | grep DOCKER
declare -x DOCKER_CERT_PATH="/root/certs.clh"
declare -x DOCKER_HOST="tcp://clh-ucp.am2.cloudra.local:443"
declare -x DOCKER_TLS_VERIFY="1"
[root@clh-ansible certs.clh]#
[root@clh-ansible certs.clh]#
[root@clh-ansible certs.clh]# docker volume create -d vieux/sshfs --name myvol2  -o sshcmd=root@clh-ansible:/remote -o password=Just4m3hp
myvol2
[root@clh-ansible certs.clh]# docker volume ls | grep myvol2
vieux/sshfs:latest   myvol2
vieux/sshfs:latest   myvol2
vieux/sshfs:latest   myvol2
vieux/sshfs:latest   myvol2
vieux/sshfs:latest   myvol2
vieux/sshfs:latest   myvol2
vieux/sshfs:latest   myvol2
vieux/sshfs:latest   myvol2
vieux/sshfs:latest   myvol2

I have reproduced the issue from the Docker EE user interface as well. Basically, you cannot create a volume using the vSphere driver at all - which makes the plug-in completely unusable.

@chris744, @kochavara, the fix for the plugin is ready but it can't be verified or merged till below UCP issue is resolved. The below issue was identified when testing the fix with UCP.
https://github.com/moby/moby/issues/35334

And this issue https://github.com/moby/moby/issues/35334, the UCP issue will be fixed by 2.2.4/3.0.0 timeframe.

@govint Based on feedback from Docker management, 2.2.4 GA'd yesterday.
Was the fix merged into this version?

@govint ,  I just tested the whole thing with UCP 2.2.4.  Issue is still there. FYI I am using version 0.13 of the plugin (the version from the Docker Store)

Verified the fix in the ESX side service and plugin, as mentioned, the
create step is fixed (works with UCP 2.2.3 also). But doing a docker
volume inspect or docker volume rm is still broken with the UCP.
I can still merge the changes I have that fixes the create path via UCP.
But inspecting and removing the volume will need to be done on the swarm
nodes themselves.
On Sat, Nov 4, 2017 at 11:59 AM, Christophe Lehy<EMAIL_ADDRESS>wrote:

@govint https://github.com/govint , I just tested the whole thing with
UCP 2.2.4. Issue is still there. FYI I am using version 0.13 of the plugin
(the version from the Docker Store)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vmware/docker-volume-vsphere/issues/1950#issuecomment-341875778,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APHseH2dEk0lJ7OiBSMnZ_ogwdGEJVYxks5szARkgaJpZM4QHhN5
.

@govint
I have UCP 2.2.4, vib v0.18, plugin v0.18, docker and still the same issue. At some time I have successfully created ONE volume but this was the only successful attempt
Where can I find the bits which are supposed to work ? I am downloading the bits from the repos  documented here:
http://vmware.github.io/docker-volume-vsphere/documentation/install.html

note: clh06novoa is the name of the volume, I use a unique name each time so I see the same behaviour you explained a few days ago
Nov  6 10:33:46 065a5baa1a5f dtr-notary-signer-eb7c7f80862f[10165] 2017/11/06 10:33:46 transport: http2Server.HandleStreams failed to receive the preface from client: EOF
Nov  6 03:33:46 clh-ucp02 dockerd: time="2017-11-06T03:33:46.417292318-07:00" level=error msg="Handler for POST /v1.30/volumes/create returned error: create clh06novoa: VolumeDriver.Create: Failed to create volume: Cannot complete the operation because the file or folder [Docker_CLH] dockvols/11111111-1111-1111-1111-111111111111/clh06novoa.vmdk already exists"
Nov  6 03:33:46 clh-ucp01 dockerd: time="2017-11-06T03:33:46.421340007-07:00" level=error msg="Handler for POST /v1.30/volumes/create returned error: create clh06novoa: VolumeDriver.Create: Failed to create volume: Cannot complete the operation because the file or folder [Docker_CLH] dockvols/11111111-1111-1111-1111-111111111111/clh06novoa.vmdk already exists"
Nov  6 03:33:46 clh-dtr03 kernel: vmw_pvscsi: msg type: 0x0 - MSG RING: 1/0 (5)
Nov  6 03:33:46 clh-dtr03 kernel: vmw_pvscsi: msg: device added at scsi0:2:0
Nov  6 03:33:46 clh-dtr03 kernel: scsi 0:0:2:0: Direct-Access     VMware   Virtual disk     2.0  PQ: 0 ANSI: 6
Nov  6 03:33:46 clh-dtr03 kernel: sd 0:0:2:0: Attached scsi generic sg3 type 0
Nov  6 03:33:46 clh-dtr03 kernel: sd 0:0:2:0: [sdc] 204800 512-byte logical blocks: (104 MB/100 MiB)
Nov  6 03:33:46 clh-dtr03 kernel: sd 0:0:2:0: [sdc] Write Protect is off
Nov  6 03:33:46 clh-dtr03 kernel: sd 0:0:2:0: [sdc] Cache data unavailable
Nov  6 03:33:46 clh-dtr03 kernel: sd 0:0:2:0: [sdc] Assuming drive cache: write through
Nov  6 03:33:46 clh-dtr03 kernel: sd 0:0:2:0: [sdc] Attached SCSI disk
Nov  6 03:33:49 clh-ucp02 dockerd: time="2017-11-06T03:33:49.244099023-07:00" level=warning msg="memberlist: Failed fallback ping: read tcp <IP_ADDRESS>:44458-><IP_ADDRESS>:7946: i/o timeout"
Nov  6 03:33:49 clh-ucp02 dockerd: time="2017-11-06T03:33:49.244139166-07:00" level=info msg="memberlist: Suspect clh-dtr02.am2.cloudra.local-5635b771e7b9 has failed, no acks received"
Nov  6 03:33:50 clh-dtr03 kernel: vmw_pvscsi: msg type: 0x1 - MSG RING: 2/1 (5)
Nov  6 03:33:50 clh-dtr03 kernel: vmw_pvscsi: msg: device removed at scsi0:2:0
Nov  6 03:33:50 clh-worker03 dockerd: time="2017-11-06T03:33:50.841963774-07:00" level=error msg="Handler for POST /v1.30/volumes/create returned error: create clh06novoa: VolumeDriver.Create: Failed to add disk 'scsi0:2'. disk /vmfs/volumes/Docker_CLH/dockvols/_DEFAULT/clh06novoa.vmdk already attached to VM=clh-dtr03"
@

@chris7444, the changes aren't merged yet. I'll get those in this week once its reviewed. Can you also confirm that with the HPE 3PAR and vieux/sshfs plugins you are able to create/inspect and delete the volumes via UCP?

I don't have an access to a 3PAR anymore.
vieux/sshfs plugin seems to work, both for create, inspect and delete
UCP2.4.0,
Docker version 17.06.2-ee-5, build 508bb92
[root@clh-ansible certs.clh]# export | grep DOCKER
declare -x DOCKER_CERT_PATH="/root/certs.clh"
declare -x DOCKER_HOST="tcp://clh-ucp.am2.cloudra.local:443"
declare -x DOCKER_TLS_VERIFY="1"
root@clh-ansible certs.clh]# docker volume create -d vieux/sshfs --name mysshvol01  -o sshcmd=root@clh-ansible:/remote -o password=
mysshvol01
[root@clh-ansible certs.clh]# docker volume ls | grep mysshvol01
vieux/sshfs:latest   mysshvol01
vieux/sshfs:latest   mysshvol01
vieux/sshfs:latest   mysshvol01
vieux/sshfs:latest   mysshvol01
vieux/sshfs:latest   mysshvol01
vieux/sshfs:latest   mysshvol01
vieux/sshfs:latest   mysshvol01
vieux/sshfs:latest   mysshvol01
vieux/sshfs:latest   mysshvol01
[root@clh-ansible ~]# docker inspect mysshvol01
[
{
"Driver": "vieux/sshfs:latest",
"Labels": {
"com.docker.swarm.whitelists": "["node==clh-worker01.am2.cloudra.local|clh-ucp03.am2.cloudra.local|clh-ucp02.am2.cloudra.local|clh-dtr02.am2.cloudra.local|clh-dtr03.am2.cloudra.local|clh-dtr01.am2.cloudra.local|clh-ucp01.am2.cloudra.local|clh-worker03.am2.cloudra.local|clh-worker02.am2.cloudra.local"]",
"com.docker.ucp.access.label": "/",
"com.docker.ucp.collection": "swarm",
"com.docker.ucp.collection.root": "true",
"com.docker.ucp.collection.swarm": "true"
},
"Mountpoint": "/var/lib/docker/plugins/7470eda13bc7c11277e442cc949de446b24e7feed66a18ea55e1282019015512/rootfs/mnt/volumes/ee4f332735b4bc757b800a9999268d2b",
"Name": "mysshvol01",
"Options": {
"password": "",
"sshcmd": "root@clh-ansible:/remote"
},
"Scope": "local"
}
]
[root@clh-ansible ~]# docker volume rm mysshvol01
mysshvol01
[root@clh-ansible ~]# docker volume ls | grep myssh
[root@clh-ansible ~]#

@chris7444, thanks for confirming, I'm following up with the docker community on the fixes in UCP for the reported issue and will keep this thread updated.

Thanks!

@govint  Any news here ? I am not sure why UCP needs a fix when the sshfs volume plugin works with UCP

@chris7444, please see updates here at https://github.com/moby/moby/issues/35334#issuecomment-344000683, seems like UCP 2.2.4 does have an issue with Get() and Remove() for non-local volumes. I don't have a date yet when UCP 2.2.4+ will be available though.

@govint. My understanding is that in moby 35334 you are reporting a problem with delete or inspect but it seems you can create volumes. At this point in time If people use vDVS 0.18 (or  0.17)  they cannot create volumes when sourcing the client  bundle. If we could have the changes you did to be able to create volumes this would help because with the released bit, the vsphere docker volume plugin is unusable as stated by @kochavara

@chris7444, I have PR https://github.com/vmware/docker-volume-vsphere/pull/1985 out for a review that will fix the plugin to ensure no issues in creating volumes. This change should be in the next release of the plugin. Besides that inspect isn't supported via UCP and remove needs the labels on all nodes in the swarm cluster to be exactly the same in order for it to work.

Thanks @govint
Do we have an ETA on when the next version of the plugin will be released?

@kochavara the next release is (tentatively) planned in the first week of December.

@govint Thank you!

Verified the fixes with a five node swarm cluster with UCP:

docker volume rm photonvol-7
photonvol-7
root@(none):/vol/photon-ee# docker version
Client:
Version:      17.07.0-ce
API version:  1.30 (downgraded from 1.31)
Go version:   go1.8.3
Git commit:   8784753
Built:        Tue Aug 29 17:43:06 2017
OS/Arch:      linux/amd64
Server:
Version:      ucp/2.2.4
API version:  1.30 (minimum version 1.20)
Go version:   go1.8.3
Git commit:   168ec746e
Built:        Thu Nov  2 17:15:16 UTC 2017
OS/Arch:      linux/amd64
Experimental: false

Each of the nodes are running Docker CE (not docker EE as recommended as photon OS installs the below version:
Client:
Version:      17.06.0-ce
API version:  1.30
Go version:   go1.8.1
Git commit:   02c1d87
Built:        Tue Aug 15 18:54:23 2017
OS/Arch:      linux/amd64

Server:
Version:      17.06.0-ce
API version:  1.30 (minimum version 1.12)
Go version:   go1.8.1
Git commit:   02c1d87
Built:        Tue Aug 15 18:55:36 2017
OS/Arch:      linux/amd64
Experimental: false

Create/inspect/rm of a volume works fine, although inspect and rm fails at times.
docker volume create -d vsphere photonvol-7
photonvol-7

docker volume inspect photonvol-7
[
{
"Driver": "vsphere",
"Labels": {
"com.docker.swarm.whitelists": "["node==photon-machine5|photon-machine2|photon-machine1|photon-machine3|photon-machine4"]",
"com.docker.ucp.access.label": "/",
"com.docker.ucp.collection": "swarm",
"com.docker.ucp.collection.root": "true",
"com.docker.ucp.collection.swarm": "true"
},
"Mountpoint": "/mnt/vmdk/photonvol-7/",
"Name": "photonvol-7",
"Options": {},
"Scope": "global",
"Status": {
"access": "read-write",
"attach-as": "independent_persistent",
"capacity": {
"allocated": "13MB",
"size": "100MB"
},
"clone-from": "None",
"created": "Thu Nov 16 10:35:00 2017",
"created by VM": "Photon-2.0-11",
"datastore": "sharedVmfs-0",
"diskformat": "thin",
"fstype": "ext4",
"status": "detached"
}
}
]
docker volume rm photonvol-7
photonvol-7
docker volume create -d vsphere photonvol-6
photonvol-6
docker volume inspect photonvol-6
[
{
"Driver": "vsphere",
"Labels": {
"com.docker.swarm.whitelists": "["node==photon-machine2|photon-machine1|photon-machine3|photon-machine4|photon-machine5"]",
"com.docker.ucp.access.label": "/",
"com.docker.ucp.collection": "swarm",
"com.docker.ucp.collection.root": "true",
"com.docker.ucp.collection.swarm": "true"
},
"Mountpoint": "/mnt/vmdk/photonvol-6/",
"Name": "photonvol-6",
"Options": {},
"Scope": "global",
"Status": {
"access": "read-write",
"attach-as": "independent_persistent",
"capacity": {
"allocated": "13MB",
"size": "100MB"
},
"clone-from": "None",
"created": "Thu Nov 16 10:34:08 2017",
"created by VM": "Photon-2.0-11",
"datastore": "sharedVmfs-0",
"diskformat": "thin",
"fstype": "ext4",
"status": "detached"
}
}
]
docker volume rm photonvol-6
photonvol-6

Changes are merged and closing.

in response to https://github.com/vmware/docker-volume-vsphere/issues/1950#issuecomment-344332031

vDVS 0.19 release is out please try out deliverables from https://github.com/vmware/docker-volume-vsphere/releases/tag/0.19

Please note, docker volume inspect isn't supported with Docker EE, but actually works with Docker CE - inconsistent behavior (although Docker CE  isn't supposed to be used with UCP). Plus, after creating docker volumes with UCP (UI or CLI) log into the ESX hosts and do  docker volume inspect over there and ensure that all hosts show the same set of labels and the same values for those. This is absolutely necessary to be able remove the volumes via docker UCP (UI or CLI).


Track and Trace Protocol for SDK

Adds track and trace protobuf definition that are compatible with Pike and Schema, as well as their corresponding native objects

Those macros are cool. Can they be more broadly used for the other Native <-> proto conversions?

Those macros are cool. Can they be more broadly used for the other Native <-> proto conversions?

Thank you! I spent a lot of time thinking about this. I had a couple of ideas of how to do it, but I couldn't quite come up with a syntax for the macro that felt good to use and wasn't overly complicated. I would have liked to spend more time thinking about it, but I felt moving the other TnT stories forward this sprint was a higher priority.

What data type does this default result in?

The default for PropertyDefinition Would be this
PropertyDefinition {
    name: String::new(),
    data_type: DataType::Bytes,
    required: false,
    number_exponent: 0,
    enum_options: Vec::new(),
    struct_properties: Vec::new()
}

This has a default implementation, which just returns None. Not really necessary until there are sources to return.

Fair. I remove the source impl then


status_logs_vpn.php - Remove icon text buffer space

Fix another occurrence similar to PR #2654

Thanks.  I missed those.


AGPUSH-1295 : fix remove installations with shared categories

@TadeasKriz @edewit Could you review ?

This needs also to be cherry-picked to master.

@edewit you are absolutely right , updated the PR

:+1:

landed on 1.0.x e34f6a62e633d111a6dde3586be40bd3dd835261 on master 11a6e8b8b399acbb58a42999ef10966b786145e6

@sebastienblanc do we have a test for that ? e.g. one that shows the bug? and now runs through (green bar) ?

By replacing (and forcing) my previous commit with edewit suggestion, I
forgot to push again the test I added to the service test class. I can add
it but as mentioned on IRC, the test case goes green even before the fix,
not sure what happens here, maybe OpenEJB ? Maybe an Arquillian test could
fix that.
On Tue, Feb 24, 2015 at 6:40 PM, Matthias Wessendorf <
<EMAIL_ADDRESS>wrote:

@sebastienblanc https://github.com/sebastienblanc do we have a test for
that ? e.g. one that shows the bug? and now runs through (green bar) ?
—
Reply to this email directly or view it on GitHub
https://github.com/aerogear/aerogear-unifiedpush-server/pull/505#issuecomment-75805226
.

How is that related to OpenEJB ? the model (jpa) tests have no EJB container at all.

I don't know just something that popped out of my brain :) , here is the
test I had https://gist.github.com/sebastienblanc/afe5629873c2182848e8
On Tue, Feb 24, 2015 at 6:49 PM, Matthias Wessendorf <
<EMAIL_ADDRESS>wrote:

How is that related to OpenEJB ? the model (jpa) tests have no EJB
container at all.
—
Reply to this email directly or view it on GitHub
https://github.com/aerogear/aerogear-unifiedpush-server/pull/505#issuecomment-75807919
.

but that's a service test - I mean, a model (jpa) test for that
On Tue, Feb 24, 2015 at 6:50 PM, Sebastien Blanc<EMAIL_ADDRESS>wrote:

I don't know just something that popped out of my brain :) , here is the
test I had https://gist.github.com/sebastienblanc/afe5629873c2182848e8
On Tue, Feb 24, 2015 at 6:49 PM, Matthias Wessendorf <
<EMAIL_ADDRESS>wrote:

How is that related to OpenEJB ? the model (jpa) tests have no EJB
container at all.
—
Reply to this email directly or view it on GitHub
<
https://github.com/aerogear/aerogear-unifiedpush-server/pull/505#issuecomment-75807919

.

—
Reply to this email directly or view it on GitHub
https://github.com/aerogear/aerogear-unifiedpush-server/pull/505#issuecomment-75808224
.

--
Matthias Wessendorf
blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

I had one as well with same effect (green without the fix) let me PR them,
can not hurt ...
On Tue, Feb 24, 2015 at 6:53 PM, Matthias Wessendorf <
<EMAIL_ADDRESS>wrote:

but that's a service test - I mean, a model (jpa) test for that
On Tue, Feb 24, 2015 at 6:50 PM, Sebastien Blanc<EMAIL_ADDRESS>
wrote:

I don't know just something that popped out of my brain :) , here is the
test I had https://gist.github.com/sebastienblanc/afe5629873c2182848e8
On Tue, Feb 24, 2015 at 6:49 PM, Matthias Wessendorf <
<EMAIL_ADDRESS>wrote:

How is that related to OpenEJB ? the model (jpa) tests have no EJB
container at all.
—
Reply to this email directly or view it on GitHub
<

https://github.com/aerogear/aerogear-unifiedpush-server/pull/505#issuecomment-75807919

.

—
Reply to this email directly or view it on GitHub
<
https://github.com/aerogear/aerogear-unifiedpush-server/pull/505#issuecomment-75808224
.

--
Matthias Wessendorf
blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf
—
Reply to this email directly or view it on GitHub
https://github.com/aerogear/aerogear-unifiedpush-server/pull/505#issuecomment-75808661
.

@matzew Test updated for the JPA and test added for the service in this PR https://github.com/aerogear/aerogear-unifiedpush-server/pull/506


i2p: 0.9.47 -> 0.9.48

Motivation for this change
update i2p to the latest version
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 105824 run on x86_64-linux 1

1 package built:

i2p


Merge release/2.1.0-ITN1 into v2-integration

This PR merges the latest release/2.1.0-ITN1 into v2-integration branch with the only change https://github.com/input-output-hk/daedalus/pull/1834

Closed unmerged in favor of https://github.com/input-output-hk/daedalus/pull/1838


Wrap gen decl decorators at 80 characters

Fixes #56

Codecov Report

Merging #57 (756762b) into main (3fb75c1) will increase coverage by 0.03%.
The diff coverage is 100.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main      #57      +/-   ##
==========================================
+ Coverage   93.54%   93.58%   +0.03%
==========================================
  Files          16       16
  Lines        2759     2774      +15
==========================================
+ Hits         2581     2596      +15
  Misses        133      133
  Partials       45       45

Impacted Files
Coverage Δ

ast/dsl.go
100.00% <100.00%> (ø)

generator/converter.go
97.02% <100.00%> (-0.02%)
:arrow_down:


Add example that changes the pod network cidr of calico

Hi Team!
I have added this example as i consider it relevant to be documented in the documentation site.
Feedback is welcomed

LGTM


net: Resolver.resolveAddrList() should be public

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
master
What did you expect to see?
This function is very useful therefore it should be public.
What did you see instead?
Resolver.resolveAddrList() is private

Being subjectively useful to one person is not the bar for making something public.
If you want to push this forward, please go through the proposal process (https://golang.org/s/proposal) and file a new bug with a more substantive proposal and try to quantify the benefit and that it outweighs the costs of extra API bloat & docs. Approximately how many existing users in the Github corpus would benefit? Which existing bugs would this fix? What features would this enable?
Anything more than "is very useful [to me] therefore it should be public".
I'm going to close this for now, but feel free to reply or file a new issue if you collect more data.


Add endpoint_id to table schema

This PR adds the endpoint_id column to the table schema.

I was going to do this later today, you beat me :)


DOC: update README to indicate Python 2.7 is not longer supported

We dropped Python 2.7 support for Shapely 1.8

Coverage remained the same at 85.133% when pulling e2ed8b87563c9628bc987ec92023357cb37a17fb on jorisvandenbossche:readme-update into fa1f78ec01c075a5522c6da4b2ed444742f34fe9 on Toblerity:master.


:bug: Fix zoomable images only in articles page

#39 Add data attribute to accurately identify images requiring zoom functionality

Thanks @jupanaos


feat: add Time Master to Pack

Codecov Report

Merging #608 into release/0.12.0 will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           release/0.12.0     #608   +/-   ##
===============================================
  Coverage           57.14%   57.14%
===============================================
  Files                   1        1
  Lines                  70       70
  Branches               15       15
===============================================
  Hits                   40       40
  Misses                 30       30

Continue to review full report at Codecov.

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


(carry 19020) add documentation for groupadd for remote api

Carry of #19020; only rebased, and changed the order of this property to match https://github.com/docker/docker/blob/acfd5eb947bff31239701e754814787e92e1d17f/runconfig/opts/parse.go#L368-L402.
closes #19020

LGTM, and already reviewed in the original https://github.com/docker/docker/pull/19020
thanks @ItsVeryWindy for the original PR, I kept your sign-off in here, so that you keep the credits :)

Oh, and @ItsVeryWindy I agree we should probably put them all in alphabetical order. For the docs, that shouldn't be an issue, but in code, I think someone did that before, but that proved to be more difficult.


Create coines pure python library

Current version of coines python package which can be created from COINES SDK uses C-library in the background.
The usage of C code complicate type hints, expected parameters and available functions.
Re-implement COINES-py functionality and make it available pure python only, with the help  of pyusb and pyserial only.

Done, v1.0.0 is now released


consider adding a license

See https://choosealicense.com/ for tl;dr
Currently no license is mentioned anywhere, what makes this code fully copyrighted. This is a default for any creative work - what includes software.
Please, please add a license. The fact none is listed makes using this software a legal quagmire. Currently it is not legal to use this code or its derivatives in any useful software. Hopefully this is not the intended effect, given that code was open sources.
In case that for some reason not releasing it under open license is intentional - mentioning it in the readme also would be a good idea. Though note that given that it is open sourced it will not stop anyone not caring about copyrights.

No copyright intended, you can freely use my software. I will take your comment into consideration and update my license information accordingly.

I have added MIT license info.


Set game rules during world generation

In Xisuma's video (timestamp), he mentions that there are some game rules that should be set to particular values. I looked through the code, and it doesn't seem like that's happening. I think it would be useful to set these rules when generation begins or resumes. These could be toggled on or off with command-line arguments, possibly.

When generation completes, the gamerules should be reset to their default values (true in each case).
This will help reduce the overhead of a user trying to do this/following along.

Added in 986c1f0


Small function updates

Hi,
I updated mine and @sivakornchong function by ensuring that both graphs have the same size. For your function @carinaya I added a horizontal line to the CDF graph. Let me know what you think

Hi, I updated mine and @sivakornchong function by ensuring that both graphs have the same size. For your function @carinaya I added a horizontal line to the CDF graph. Let me know what you think

It's cool! Thanks Gross for capturing that part and keeping it the same format


Jdk11 / Jdk12 JavaDoc generation fix

Fix for the JavaDoc generation failure on JDK11 and JDK12 (OpenJDK bug JDK-8212233).
In addition, update to Maven JavaDoc Plugin v3.1.0 and the new doclint option, introduced with v3.0.0.

Thanks! Merged


Youtube refuses to connect

Youtube wont connect with adaway online

I need more info @Bry-fi.  Platform/device, OS, which hosts file?  Also, there's nothing we can do for AdAway...

Closing.


Supabase auth

Getting simple supabase auth going with simple components that will need to be changed

I think we might as well also remove the tutorial views from the project at this point.


When user timezone is Europe/Lisbon, the tempo's range function throws an "Invalid offset" exception.

Reproduction can be seen on the @formkit/tempo docs itself by editing the range example and passing the token years. Issue occurs when timezone is Europe/Lisbon though I'm sure there are others.

I just started seeing this when I updated FormKit to 1.5.7 and FormKit Pro to 0.126.11, but I'm in America/Detroit timezone.
Can you recommend a version to revert to until this issue is fixed?

To be clear, the error I'm seeing is Invalid offset: -05:32.18333333333334

So sorry for spamming the comments here! I should mentioned that the problem occurs with the following schema:
[
 {
    $formkit: 'datepicker',
    name: 'date',
    format: 'DD-MMM-YYYY',
    valueFormat: 'YYYY-MM-DD',
    validation: 'required',
    overlay: true,
  },
]

Wow, this is obscure. It has to do with the really old dates in certain timezones. When we use the YYYY token with range() token, we scan -120 years and + 50 or so. It turns out that some timezones return very odd results for dates in 1904 specifically. For example in America/Detroit if you run:
new Date('1904-06-06T00:00:00')
// 1904-06-06T05:32:11.000Z

where is that 32:11 coming from?  Well it turns out that January 1st 1905 the clocks moved from LMT to CST — so the resulting time is actually accurate. Our internal methods were not expecting a timezone offset to have seconds in them. Since these 11 seconds are not particularly important we will round them going forward.

@kswedberg this should be fixed in 0.1.2

Thanks so much, @justin-schroeder ! Works like a charm now 😃


activerecord: Add types for strict_loading

Add types for below three methods.

strict_loading(value = true)

https://api.rubyonrails.org/v<IP_ADDRESS>/classes/ActiveRecord/QueryMethods.html#method-i-strict_loading

strict_loading?()

https://api.rubyonrails.org/v<IP_ADDRESS>/classes/ActiveRecord/Core.html#method-i-strict_loading-3F

strict_loading!()

https://api.rubyonrails.org/v<IP_ADDRESS>/classes/ActiveRecord/Core.html#method-i-strict_loading-21

Arguments have been added to strict_loading! since 7.0.

up to 6.1

https://api.rubyonrails.org/v<IP_ADDRESS>/classes/ActiveRecord/Core.html#method-i-strict_loading-21

since 7.0

https://api.rubyonrails.org/v7.0/classes/ActiveRecord/Core.html#method-i-strict_loading-21

This methods have been added since 6.1.
https://github.com/rails/rails/pull/37400

/merge

/merge

@ksss
Could you re-review this pr ?
I rebased master branch to run Test / test_rubocop_yml workflow it was added by https://github.com/ruby/gem_rbs_collection/pull/757. So, I need re-approval.

/merge

@ksss
Thanks!


Unix Domain socket file permissions issue

Bug report:
We are running dfget daemon as root and using oras resource client to pull the image as
dfget -u oras://host/path/image:tag -O path/image1.sif

The permission of unix Domain socket file of dfget daemon process would look as below(only root user who started dfget daemon has write permission and other users don't have write permission)
> ls -ld

  srwxr-xr-x 1 root root 0 Apr 11 03:17 /var/run/dfdaemon.sock

ours is multiuser Linux environment and if user1 tries to pull the image using dfget daemon started by root as before
dfget -u oras://host/path/image:tag -O path/imgae2.sif

then daemon logs the below error message
{
  "level": "error",
  "ts": "2023-04-11 12:26:18.138",
  "caller": "cmd/root.go:122",
  "msg": "the daemon is unhealthy",
  "stacktrace": "d7y.io/dragonfly/v2/cmd/dfget/cmd.Execute\n\t/Dragonfly2/cmd/dfget/cmd/root.go:122\nmain.main\n\tDragonfly2/cmd/dfget/main.go:24\nruntime.main\n\tgo/src/runtime/proc.go:250"
}

This error message seems to be because of user2 don't have write permission to  socket File (/var/run/dfdaemon.sock) created by root
and i guess it is also not a good practice to open up write permissions for socket file (/var/run/dfdaemon.sock) for all other users?
Environment:

Dragonfly version: v2.0.9
OS:
Kernel (e.g. uname -a):
Others:

I think setting setuid permission (chmod u+s dfget) of dfget binaries to root will fix this issue.


add lucian.solutions to webring

Webring icon (button) is at the social share section besides Twitter and Facebook

@lucidkarn Thanks, and welcome to the webring!


Add cluster wide volume quota management proposal

This proposal suggests extending the static quota mechanism to throttle message production in a broker if any active broker in the cluster is running out of disk. It also deprecates the current implementation that considers only aggregate local volume usage.

We'll explore how this plays with KRaft
Questions to answer:

Do controllers appear in the describeCluster response.
The metadata log can be configured to have it's own dir, would this be described by the logdirs response.

We'll explore how this plays with KRaft

This won't be able to prevent KRaft filling a disk with the metadata log.
If you use controller+broker mode and set metadata.log.dir to put the metadata log in a custom location, then that logdir is not described as part of describeLogDirs (tried with kafka 3.3.1)
Also I guess metadata isn't likely to be driven by message production @showuon ? Even if we could detect the metadata volume usage we can't prevent it growing in this plugin.
Will add a section covering this as a limitation.

@ppatierno @Frawless PTAL

bq. What is the excalidraw file and why should it be here? Would something like SVG be better? Or maybe can Mermaid be used directly in the markdown?
It's the source file for 044-quota-plugin-interactions.png I included inc case we wanted to evolve the diagram at any stage. It can be imported into (excalidraw web app)[https://excalidraw.com] or there is an IntelliJ plug-in which understands them.
I can be removed from the PR if preferred but there feels little point in re-creating in an alternative tool.

It's the source file for 044-quota-plugin-interactions.png I included inc case we wanted to evolve the diagram at any stage. It can be imported into (excalidraw web app)[https://excalidraw.com] or there is an IntelliJ plug-in which understands them.

Can it be used without registration etc.? I guess in that case it could be fine.

This proposal now has enough votes to pass. Does anyone feel like more time for review is needed / anyone still plans to review it? If not, I will close the vote tomorrow and merge it.

Hi, maybe I'm a bit late here.
Today I found that, after enabling the kafka-quotas-plugin, any default-quotas-plugin configuration is ignored without any warning (this could be easily fixed) and you also lose per client group metrics (this is a bit annoying).
For example, if I have a Kafka CR like this:
  kafka:
    config:
      client.quota.callback.class: io.strimzi.kafka.quotas.StaticQuotaCallback
      client.quota.callback.static.storage.check-interval: 30
      client.quota.callback.static.storage.hard:<PHONE_NUMBER>0
      client.quota.callback.static.storage.soft:<PHONE_NUMBER>0
   listeners:
    - authentication:
        type: scram-sha-512
      name: external
      port: 9094
      tls: true
      type: route

And a KafkaUser CR like this:
spec:
  authentication:
    type: scram-sha-512
  quotas:
    producerByteRate: 500000

There is no throttling if I run a producer at full speed (well over 500 KB/s):

Instead, this is what happens with the same producer after I remove the client.quota.callback.* configs and wait for the rolling update to complete:

Not sure if we want to address this here as part of the plugin re-design, or as an issue on the existing implementation.

@robobario thanks for the insight.
I'm moving the metrics discussion here.
This proposal LGTM.

Thanks for the proposal @robobario


Consider adding monorepo VSCode instructions

When using the very common VSCode Eslint plugin in combination with a 'monorepo setup eg:
- api/
  - .eslintrc
- app/
  - .eslintrc
  - .babelrc

I found (after loosing a morning, lol) that I needed to amend the vscode-eslint settings as follows in order for the inline linter to resolve the module locations:
{
  …
  "eslint.workingDirectories": [
    { "directory": "./api", "changeProcessCWD": true },
    { "directory": "./app", "changeProcessCWD": true }
  ]
  …
}

Hope this helps someone save a morning!

Is  this needed to be done on the Visual Code settings or can I make this on specific projects?
I'm not sure about wich file I should add these settings.
Any plans on fixing this?

@gusflopes create a .vscode/settings.json and paste it there


Transactions with UNIX timestamps

This adds support for specifying transaction timestamps as UNIX Epoch timestamps, ie. number of seconds since Jan 1, 1970.

So... 2012garbage2012 is an invalid date, but '201210garbage201210' is totally valid, no questions asked.

What? :dizzy_face:

What? dizzy_face

So I think the only reasonable way out of this surprising legacy from the past, especially given this is behaviour is not documented, would be to remove this offending test, since it does not make sense any way to do the negative testing (and even then it was so broken), and accept (for now) the discovery that completely broken timestamps like the one I specified can actually mean some random thing to the system, just the same way it's always been, and then consider whether to fix what was already broken adding validation.
Ideas?

@unleashed That sounds good to me :+1:

So in the end I added a pending test that is way more likely to bug people when running the suite to go and fix this issue one way or another, and also changed the "negative" testing to look for changes in 201201.

Is there something we can do about that? Have you taken a look to see if we can replace that Date._parsecall with a similar call that does not cause other issues?
@unleashed It'd be good to open an issue so we remember to address that.


dot repeat fails after using autocomplete

FAQ

[X] I have checked the FAQ and it didn't resolve my problem.

Issues

[X] I have checked existing issues and there are no open or closed issues with the same problem.

Neovim Version
NVIM v0.7.0-dev+714-g3aff3d634
Minimal reproducible config
Save the following in test.lua
print("start of test.lua")

print(vim.cmd("packadd nvim-cmp"))
print(vim.cmd("packadd luasnip"))
print(vim.cmd("packadd cmp_luasnip"))
print(vim.cmd("packadd cmp-nvim-lsp"))
print(vim.cmd("packadd cmp-buffer"))
print(vim.cmd("packadd rust.vim"))
print(vim.cmd("packadd nvim-lspconfig"))
print(vim.cmd("packadd cmp-nvim-lua"))
print(vim.cmd("packadd lsp-status.nvim"))
print(vim.cmd("packadd cmp-buffer"))

local function create_capabilities()
  local capabilities = vim.lsp.protocol.make_client_capabilities()
  capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities)
  return capabilities
end

local lsp_status = require("lsp-status")
lsp_status.register_progress()

local lspconfig = require("lspconfig")

local function lsp_setup(name, config)
  lspconfig[name].setup(config)
end

lsp_setup("rust_analyzer", {
  capabilities = create_capabilities(),
  settings = {
    ["rust-analyzer"] = {
      cargo = { allFeatures = true, autoReload = true },
      checkOnSave = { enable = true, command = "clippy" },
    },
  },
})

local system_name
if vim.fn.has("mac") == 1 then
  system_name = "macOS"
elseif vim.fn.has("unix") == 1 then
  system_name = "Linux"
elseif vim.fn.has("win32") == 1 then
  system_name = "Windows"
else
  print("Unsupported system for sumneko")
end

-- set the path to the sumneko installation; if you previously installed via the now deprecated :LspInstall, use
local sumneko_root_path = vim.fn.stdpath("cache") .. "/nvim_lsp/sumneko_lua/lua-language-server"
local sumneko_binary = sumneko_root_path .. "/bin/" .. system_name .. "/lua-language-server"

local runtime_path = vim.split(package.path, ";")
table.insert(runtime_path, "lua/?.lua")
table.insert(runtime_path, "lua/?/init.lua")

lsp_setup("sumneko_lua", {
  capabilities = create_capabilities(),
  cmd = { sumneko_binary, "-E", sumneko_root_path .. "/main.lua" },
  settings = {
    Lua = {
      runtime = {
        -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
        version = "LuaJIT",
        -- Setup your lua path
        path = runtime_path,
      },
      diagnostics = {
        -- Get the language server to recognize the `vim` global
        globals = { "vim" },
      },
      workspace = {
        -- Make the server aware of Neovim runtime files
        library = vim.api.nvim_get_runtime_file("", true),
      },
      -- Do not send telemetry data containing a randomized but unique identifier
      telemetry = { enable = false },
    },
  },
})

local cmp = require("cmp")
local luasnip = require("luasnip")

local has_words_before = function()
  local line, col = unpack(vim.api.nvim_win_get_cursor(0))
  return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end

local function tab(fallback)
  if cmp.visible() then
    cmp.select_next_item()
  elseif luasnip.expand_or_jumpable() then
    luasnip.expand_or_jump()
  elseif has_words_before() then
    cmp.complete()
  else
    fallback()
  end
end

local function shift_tab(fallback)
  if cmp.visible() then
    cmp.select_prev_item()
  elseif luasnip.jumpable(-1) then
    luasnip.jump(-1)
  else
    fallback()
  end
end

cmp.setup({
  completion = {
    autocomplete = true,
  },
  preselect = cmp.PreselectMode.None,
  -- You should change this example to your chosen snippet engine.
  snippet = {
    expand = function(args)
      return require("luasnip").lsp_expand(args.body)
    end,
  },

  -- You must set mapping.
  mapping = {
    ["<C-p>"] = cmp.mapping.select_prev_item(),
    ["<C-n>"] = cmp.mapping.select_next_item(),
    ["<C-b>"] = cmp.mapping(cmp.mapping.scroll_docs(-4), { "i", "c" }),
    ["<C-f>"] = cmp.mapping(cmp.mapping.scroll_docs(4), { "i", "c" }),
    ["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
    ["<C-e>"] = cmp.mapping({
      i = cmp.mapping.abort(),
      c = cmp.mapping.close(),
    }),
    ["<CR>"] = cmp.mapping.confirm({ cmp.ConfirmBehavior.Replace, select = true }),
    ["<Tab>"] = cmp.mapping(tab, { "i", "s" }),
    ["<S-tab>"] = cmp.mapping(shift_tab, { "i", "s" }),
  },

  -- You should specify your *installed* sources.
  sources = cmp.config.sources({
    { name = "nvim_lsp" },
    { name = "luasnip" },
    { name = "nvim_lua" },
  }, {
    { name = "buffer" },
  }),
})

vim.schedule(function()
  vim.o.completeopt = "menu,menuone,noselect"
end)

print("end of test.lua")

cargo init
vim --noplugin -u test.lua src/main.rs

Description
    let ans = template
      .chars()
      .sorted()
      .dedup()
      .map(|c| template.chars().filter(|v| *v == c).count())
      .sorted()
      .collect::<Vec<usize>>();

    ans.first()|; // <- cursor is on this line after parenthesis
    ans.last();

    let ans = template
      .chars()
      .sorted()
      .dedup()
      .map(|c| template.chars().filter(|v| *v == c).count())
      .sorted()
      .collect::<Vec<usize>>();

    ans.first().unwrap()|; // Type `.` hit tab and select the `unwrap` method and hit enter.
    ans.last();

    let ans = template
      .chars()
      .sorted()
      .dedup()
      .map(|c| template.chars().filter(|v| *v == c).count())
      .sorted()
      .collect::<Vec<usize>>();

    ans.first().unwrap();
    ans.last()|; // <- move cursor here and press `.`. I am expecting `unwrap()` to be added here.

Steps to reproduce
I've attached a minimal reproducible config. Surprisingly, I'm not able to get autocomplete to even work with the minimal example. I believe it may have something to with my runtimepath / packadd. I tried the minimal vimrc.vim file from the repo here and that doesn't work for me too, even though LSP formatting works. I don't even get buffer completion.
Autocompletion works in my full configuration though, so I figured I'd share a screenshare of the issue:
https://user-images.githubusercontent.com/1813121/145988896-a763106e-81cf-40bf-b7f5-6e9abd0fe09d.mov
This is the output of the :registers command

Expected behavior
I am expecting the dot repeat to work and complete the text. This is not in a macro, just in normal and insert mode.
Actual behavior
Hitting . in normal mode appears to just backspace.
Additional context
This is the only related issue I could find : https://github.com/hrsh7th/nvim-cmp/issues/504

What is the ans and template?

template is just a rust string.
let template = "hello world".to_string()

ans will be a Vec<usize> in rust.

The . operator works on fields though. It is just functions / methods where it doesn't work. This is why I think it has something to do with parentheses (i.e. the ()). I think maybe autocomplete is adding the ( and ) and then hitting escape and moving the cursor (???). I'm just guessing as to what is going on here.

Thanks for the quick response btw!

In my environment, works as the below.
https://user-images.githubusercontent.com/629908/145993082-4539de8d-f692-4432-ba24-442979b11320.mp4

Oh wow. Thanks for testing and sharing a screen recording. So something is wrong with my configuration then. I'll try to narrow down what is going on and if it is related to nvim-cmp, I'll reopen this issue.
btw, it still doesn't print the parenthesis for you when you do the . repeat. I'm not sure if you consider that a bug or if that's just not fixable.

Got it. Thanks for all the information!

Is your configuration public somewhere? It might help me narrow down what is going on with my configuration.

I narrowed down the problem to using luasnip. If I use vsnip I'm getting the same behavior as your screen recording.

Hm... OK. I'll investigate it.

Hm... I can't figure out the reason but you are right. I can reproduce with LuaSnip.

I think it's LusSnip issue.
For example, The following simple configuration doesn't reproduce this problem.
cmp.setup {
  snippet = {
    expand = function(args)
      local cursor = vim.api.nvim_win_get_cursor(0)
      cursor[1] = cursor[1] - 1
      local texts = vim.split(vim.lsp.util.parse_snippet(args.body), '\n')
      vim.api.nvim_buf_set_text(0, cursor[1], cursor[2], cursor[1], cursor[2], texts)
      cursor[1] = cursor[1] + #texts - 1
      cursor[2] = #texts > 1 and #texts[#texts] or cursor[2] + #texts[1]
      vim.api.nvim_win_set_cursor(0, { cursor[1] + 1, cursor[2] })
    end,
  },
}

@hrsh7th I think you can close this since this is being tracked on luasnip: https://github.com/L3MON4D3/LuaSnip/issues/225

OK. Thank you!


On cetons missing repo epel

Looks like epel repo is required on centos to install monit.
this can be fixed by adding module to Puppetfile:
mod 'stahnma-epel'

and then manifest file can look like this:

  include ::epel
  include ::monit

  Class['epel'] -> Class['monit::install'] # cannot do just Class['monit'] because the way module is constructed

How does other modules manage this? PRs welcome!

AFAIR they usually don't manage repos if they can.
They explicitly describe it in the README of the module that adding repo is out of scope of the module, and the only thing they care is exact package name.
This way the module user is free to define his own specific class/stages dependencies which can be sometimes quite complicated.
So the PR could look like expanding readme for Debian/Redhat based distros to show how to do it easily just like this issue :)
If you want to really introduce repo management to make it totally hands free experience then you must provide most commonly used modules to manage repos for supported platforms, then add it to metadata as dependency, extend docs and fight with future module updates :)


spyder issue

Description
What steps will reproduce the problem?

What is the expected output? What do you see instead?
Please provide any additional information below
File "/Users/elizabethdeng/anaconda3/envs/spyder-3.2.3/lib/python3.6/site-packages/spyder/widgets/ipythonconsole/namespacebrowser.py", line 60, in refresh_namespacebrowser
'get_ipython().kernel.get_namespace_view()')
File "/Users/elizabethdeng/anaconda3/envs/spyder-3.2.3/lib/python3.6/site-packages/spyder/widgets/ipythonconsole/shell.py", line 330, in silent_exec_method
'silent_exec_method')
TypeError: new() missing 1 required positional argument: 'hidden'
Traceback (most recent call last):
File "/Users/elizabethdeng/anaconda3/envs/spyder-3.2.3/lib/python3.6/site-packages/spyder/widgets/ipythonconsole/shell.py", line 127, in get_cwd
self.silent_exec_method(code)
File "/Users/elizabethdeng/anaconda3/envs/spyder-3.2.3/lib/python3.6/site-packages/spyder/widgets/ipythonconsole/shell.py", line 330, in silent_exec_method
'silent_exec_method')
TypeError: new() missing 1 required positional argument: 'hidden'
Version and main components

Spyder Version: 3.2.3
Python Version: 3.6.13
Qt Versions: 5.9.6, PyQt5 5.9.2 on Darwin

Dependencies
pyflakes >=0.6.0 :  2.4.0 (OK)
pycodestyle >=2.3:  2.8.0 (OK)
pygments >=2.0   :  2.11.2 (OK)
pandas >=0.13.1  :  None (NOK)
numpy >=1.7      :  None (NOK)
sphinx >=0.6.6   :  4.4.0 (OK)
rope >=0.9.4     :  0.22.0 (OK)
jedi >=0.9.0     :  0.18.0 (OK)
psutil >=0.3     :  5.8.0 (OK)
nbconvert >=4.0  :  6.0.7 (OK)
sympy >=0.7.3    :  None (NOK)
cython >=0.21    :  None (NOK)
qtconsole >=4.2.0:  5.2.2 (OK)
IPython >=4.0    :  5.8.0 (OK)
pylint >=0.25    :  2.9.6 (OK)

Hey @el-izzz, thanks for reporting. I'm afraid you'll have to remove and reinstall Anaconda because you're using a very old version of it, and with it an old Spyder version. If you do that, you'll get Spyder 5.4.3, which doesn't have this error (you're using Spyder 3.2.3 now).


Reduce Allocations in Codegen

There are lots of messy allocations in the Codegen which can be tidied up. This doesn't need to be a high priority because the codegen isn't expected to be run by end-users, but should still be looked at at some point.

This is probably a good thing to start working on actually. Determine what the source of truth is for data, and don't clone unless there's a specific reason some data should need to outlive its source (or it's original).
Go through all codegen and reduce allocations wherever possible.

Tests need to be updated with the new API work. These are now breaking the build

This looks pretty good now


Take user into the portfolio repo directly

During registration, the "customize portfolio" link takes me to my Gitlab home page. Instead the link should take me directly into my portfolio.
Current: https://gitlab.com/ (auto completes to user folder)
Desired: https://gitlab.com//lime-portfolio

This is fixed!


[WIP] Use $ as the default currency

@yssavchuk Could you please squash commins and describe changes as Use $ as the default currency?


Warning - excessive functions use and cost

When the updated version of StartStop V2 failed to work, we did a redeploy to try to solve the problem. This resulted in excessive function use and cost for a few days until we noticed. And it still never worked. We have logged a billing support issue ticket with Azure.
Does anyone know of any alternative from third parties? We're not going to pay for support for them to fix their own product but we will pay for a product that works.

Make sure you do not sellect AZ by accident


Use json4s 3.3.0. DefaultFormats is now serializable.

Having serializable Formats makes json4s much nicer to work with in
Spark. This seems like a worthwhile upgrade, especially since it's
pretty much unchanged besides a few fixes.

Can one of the admins verify this patch?

Jenkins, this is ok to test.

Are there any changes in this library's transitive dependency graph?
/cc @srown @pwendell for dependency changes / bumps.

(Whoops, meant to cc @srowen )

Do you mind filing a JIRA for this change? See https://issues.apache.org/jira/browse/SPARK and https://cwiki.apache.org/confluence/display/SPARK/Contributing+to+Spark.

Merged build triggered.

Merged build started.

Test build #43269 has started for   PR 8992 at commit 840aac8.

Test build #43269 has finished for   PR 8992 at commit 840aac8.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/43269/
Test FAILed.

Merged build finished. Test FAILed.

Hm, does 3.3.0 require Scala 2.11? or pull in a different version? there's a compile problem here. This probably needs an analysis of the diff in the dependency:tree this creates to understand the implications.

@srowen, there's definitely a 2.10 version of that artifact published to Maven: http://mvnrepository.com/artifact/org.json4s/json4s-jackson_2.10/3.3.0
Maybe try re-testing? Jenkins, retest this please.

@JoshRosen I believe there some minor version bumps. I'll run dependency graph on both a bit later and try to get more exact changes. I assume you're talking to me about the JIRA change? I'll check out those pages and create a JIRA issue.

Transitive dependencies
json4s 3.2.10

json4s 3.3.0

The only problem I anticipate here is the different version of Jackson. Spark is on ~2.4 and I recall that trying to use an app with 2.5+ causes problems, which leads me to suspect that updating Jackson isn't trivial. It's possible to manage-down the Jackson dependency to be conservative, as long as all of them get managed down correctly. I suppose it's also worth looking at updating Jackson though that will take a little more care.

I'm pretty sure that I've run into problems when bumping the jackson-databind version in the past, so we'll have to be careful here.

I created a JIRA for this:
https://issues.apache.org/jira/browse/SPARK-10958

@tylerprete update the title too -- have a look at the contributing link above.

@srowen I updated it... seems a bit better.

I mean the title of this PR, to link it

I understand. Done.

@tylerprete I don't think this can proceed as-is because of the Jackson change. Either you have to show it works with a down-graded Jackson, or otherwise figure out how to update Jackson for Spark (separate issue) and then come back to this one. What's your intent?

@srowen I'll exclude jackson from json4s's transitive dependencies and see if everything plays nice. That seems more tractable than tackling updating jackson for all of spark.

Sounds good. IIRC it used more Jackson artifacts than Spark does, so excluding all of them might leave it lacking a library it needs. If so the solution would be to just manage down the version in dependencyManagement

@tylerprete is this moving forward or should we close it at this point?

I'm going to close this unless there's movement, given the discussion.

Do you mind closing this PR?

Yeah, sorry, life got busy and haven't made progress on this.
Realistically, I'm not sure I'll get to it right away. If I ever get around
to making it work, I'll reopen a ticket.
On Thu, Oct 29, 2015 at 7:15 AM, Sean Owen<EMAIL_ADDRESS>wrote:

Do you mind closing this PR?
—
Reply to this email directly or view it on GitHub
https://github.com/apache/spark/pull/8992#issuecomment-152193338.


How to remove the effect of backgroud??

When I read your code ,The loss it tf.reduce_mean(tf.nn.sparse~~),The image‘s background also included,How to remove it？？

Hi,
Sorry for such a late reply. I've been quite occupied with other projects recently... Anyway, to my knowledge, this issue should be easy to fix. You can either choose to set the label of background to -1 to ignore it when computing loss, or use tf.losses.compute_weighted_loss in front of tf.nn.sparse~. For more details, you can turn to TheRevanchist and JimmyCai91's comments in the following link:
https://github.com/keras-team/keras/issues/6118
Cheers,
Tianxiao


Invalid private key format error

I'm adding my own private keys with
add_private_keys in the suibase.yaml
It stopped working after I updated today (didn't update for 4 months though).
"Error: Invalid private key format [0x3"
Did you change the support or format of the private keys? Or what do you think is the error?

You can now do "~/suibase/update" to get the fix.
The problem was a recent change in the JSON output from the Sui keytool command.
The fix to Suibase was:

I should have detected that earlier... so I will add today an automated test for the add_private_key.
Thanks for reporting this.

Take note that "sui client addresses" now show only address with an alias (this is not something I control, I think the Sui binary should display all addresses).
So "add_private_keys" works. The key is added to sui.keystore and can be used, but it needs also an entry in sui.aliases to show up with "sui client addresses".
I think it is a minor problem, but I will try to fix it by tomorrow (I will create dummy "suibase-yaml-x" aliases).

It seems "lsui client addresses" does give me an output with auto generated aliases.
Where should I be able to edit sui.aliases?

Yes, the auto-generated ones have aliases, so their are shown.
I have to modify the code to do the same with the ones added with "add_private_keys".
In meantime, may be you can edit the alias with "lsui keytool update-alias"?
sui.aliases is co-located with its sui.keystore.
So for localnet:
  ~/suibase/workdirs/localnet/config/sui.aliases
On Wednesday, February 28, 2024 at 12:56:04 PM EST, Georges-Charles Brain<EMAIL_ADDRESS>wrote:

It seems "lsui client addresses" does give me an output with auto generated aliases.
Where should I be able to edit sui.aliases?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were assigned.Message ID: @.***>

Your advice is much appreciated thanks.

With latest Suibase, the add_private_keys entries will now have an "alias-" generated.
Example:


Selected point measurements.

If points are selected and the trigger key isn't pressed, show the width, height of the selection at the cursor.

Done.


Replace pelletier/go-toml v1.x with v2

Per the README, v1 will no longer receive any updates. Will need to upgrade to v2 of the library.
refs https://github.com/pelletier/go-toml/blob/5dc006fb524b0e7795f9c9ca9f3aff8afd06637e/README.md

See also:

Replace pelletier/go-toml v1.x with v2 elbow#386
Upgrade pelletier/go-toml from 1.x to v2 elbow#387

May need to revisit how this project is using the package, may need to revert to v1.

As with https://github.com/atc0005/query-meta/issues/90:

Doesn't seem to be the case. I've run additional local manual tests and have reviewed the existing test cases. From what I can tell everything is working properly. Evidently how this project has the configuration structured does not run afoul of the v1 to v2 changes encountered in the elbow project.

Looking closer at both projects I'm using a split configuration struct. One "side" is used for CLI specified settings and the other "side" is pulled from parsed config file values; pelletier/go-toml is unmarshaling values directly into a flat struct (even if that struct is nested).


Enable newlib iconv

We have the headers for this but our libc doesn't actually contain the definitions. This is related to utf-8 string conversions and is built into newlib but we're not taking advantage of it.

Hey, dudes, so I'm actually working on doing this as well for our toolchain build scripts in KallistiOS...
But after struggling to make sense of the Newlib documentation for quite awhile, I am kind of left with the impression that this flag alone will simply allow you to use the API, but without specifying any actual encodings to pass to newlib via --newlib-iconv-encodings=ascii,utf8,utf16,etc, the iconv() calls will all fail, since you're essentially building the library without support for any actual encoding formats?
At least I think this is how it works? I need to do more testing, but I wanted to run this by you.

According to the browser of my PSP(2000), these are the encodings listed:

cyrillic (iso-8859-5)
japanese (euc-jp)
japanese (shift_jis)
korean (euc-kr)
simplified chinese (gb18030)
traditional chinese (big5)
western (iso-8859-1)
unicode (utf-8)

I found the encoding by following the guide here: https://manuals.playstation.net/document/en/psp/current/network/browser/encode.html
Is that the right encoding to use/support or idk if i'm correct? hopefully it can help

According to the browser of my PSP(2000), these are the encodings listed:

cyrillic (iso-8859-5)
japanese (euc-jp)
japanese (shift_jis)
korean (euc-kr)
simplified chinese (gb18030)
traditional chinese (big5)
western (iso-8859-1)
unicode (utf-8)

I found the encoding by following the guide here: https://manuals.playstation.net/document/en/psp/current/network/browser/encode.html
Is that the right encoding to use/support or idk if i'm correct? hopefully it can help

Yes, those are what are supported, but are those what are enabled by default? The iconv library is built so that you can pick and choose which encodings get compiled into the binary, so that you aren't automatically including everything and are able to conserve space on embedded platforms.
Notice there's also options for --newlib-iconv-encodings and then setting individual source/dest encodings? It's unclear to me whether just using the flag to enable iconv in general is going to include ALL of the encodings or NONE of the encodings... If I get time, I was going to test on Dreamcast/KOS, but that might not happen for awhile.

Thanks for the insight!, I think --enable-newlib-iconv is to turn on the libiconv(set to NONE maybe) and after that you can set some specific encoding using that --enable-newlib-iconv-encodings, That's my thinking because there's an option like this on the newlib's source by typing ./configure --help=recursive
--enable-newlib-iconv-from-encodings   enable specific comma-separated list of \"from\" iconv encodings to be built-in
--enable-newlib-iconv-to-encodings   enable specific comma-separated list of \"to\" iconv encodings to be built-in

you can set the from/to(is it src/dest equivalent?) of encodings, hopefully it can help you
i'm currently testing this one too in my free time to merge it but it's much better to look by knowledgeable maintainer ❤

yes the to/from encodings configure option is the solution to conserve some space instead of just --enable-newlib-iconv-enodings, please read: https://sourceware.org/newlib/libc.html#iconv-configuration

Okay, guys, I finally had the chance to enable this in the Dreamcast/KallistiOS toolchains, and I have some stuff to report...

You need BOTH --enable-newlib-iconv to globally enable the iconv() PLUS --enable-newlib-iconv-encodings to provide a list of encodings.
The encoding strings passed to iconv() are very, very picky. They don't work with all of the different encoding aliases given in the Newlib readme, so watch out.

For KallistiOS, we opted to give the user an (optional) list of encodings to enable which is populated with the most common ones that users will need by default (ascii, utf8, utf16, wchar). We basically have a configuration script which allows the user to set variables which then get translated into options and flags to pass to the toolchain...
Here's the PR for the DC: https://github.com/KallistiOS/KallistiOS/pull/532

Unfortunately, the MacOS build failing is expected. GitHub changed which MacOS achitecture is the default and we don't have full support for ARM on MacOS yet.

There's a change in the workflow file, let me try to re-run it if it builds correctly now

Btw, I noticed you guys went ahead and pulled in iso_8859_1 as well... Is this used in some common functionality or encoding scheme I wasn't thinking about? Maybe we should do it as well in KOS? Thanks.

Btw, I noticed you guys went ahead and pulled in iso_8859_1 as well... Is this used in some common functionality or encoding scheme I wasn't thinking about? Maybe we should do it as well in KOS? Thanks.

I think it's the default pre-utf-8 encoding for fat32/windows.

rebased


CustomCubic world type not fully implemented

[x] Terrain stage - terrain looks differently than vanilla terrain (incorrectly configured noise generator and biome-related code)
[x] Population stage - mostly unimplemented /*TODO: list all features to implement*/

[x] Basic biome decorator

[x] Make all of that work beyond vanilla heights

[x] Biome-specific decorator
[x] General populator

[ ] Structure generation - only caves and ravines are implemented (will it be implemented?)
[ ] Lava in caves
[ ] Customization options

[x] Advanced terrain shape
[x] Basic population options
[x] Ore configuration
[ ] Block replacer config
[ ] Allow setting values directly
[ ] Show resulting json config

[x] Merge Terrain Surface and Structures stages

Relatively few but complicated to implements things are left to fix, closing this, and reopenign separate issue for each part.

Opened issues #228 #229 #230 #231 #232 #233 #234 for it.


Update event to include real status

for the global hub, we are going to show the policy compliance trend. It is very important to have real policy status in the events so that we can know the frequency of policy changing.
@mprahl Is the change OK? Thanks.

/retest


how to show the Recall curve after training, it seem that no about it in source code?

Evaluator now support log recall value now, you could use Tensorboard to log it.

thanks a lot，im going to try it！
------------------ 原始邮件 ------------------
发件人:                                                                                "Megvii-BaseDetection/YOLOX"                                                                                @.>;
发送时间: 2022年3月8日(星期二) 中午11:13
@.>;
<EMAIL_ADDRESS>主题: Re: [Megvii-BaseDetection/YOLOX] how to show the Recall curve after training, it seem that no about it in source code? (Issue #1164)
Evaluator now support log recall value now, you could use Tensorboard to log it.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: @.***>

im so sry... Could you be more specific, please?  Still a little confused about how it works...

请问您的问题解决了吗？具体怎么加上代码获取数据的？

@improgress You could get AP/AR like code here

thanks for your reply! But ..just support coco format? My dataset format is Voc ,and I don’t see some information about AR in voc_evaluator.py.  thanks again！
发自我的iPhone
------------------ Original ------------------
From: Feng Wang @.>
Date: Thu,Mar 10,2022 11:09 AM
To: Megvii-BaseDetection/YOLOX @.>
Cc: improgress @.>, Mention @.>
Subject: Re: [Megvii-BaseDetection/YOLOX] how to show the Recall curve aftertraining, it seem that no about it in source code? (Issue #1164)
@improgress You could get AP/AR like code here
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.Message ID: @.***>

My dataset format is Voc ,and I don’t see some information about AR in voc_evaluator.py.

@improgress AR of VOC is not supported now.

OK OK I'll try to think of some other means！thanks for your reply！
发自我的iPhone
------------------ Original ------------------
From: Feng Wang @.>
Date: Thu,Mar 10,2022 11:28 AM
To: Megvii-BaseDetection/YOLOX @.>
Cc: improgress @.>, Mention @.>
Subject: Re: [Megvii-BaseDetection/YOLOX] how to show the Recall curve aftertraining, it seem that no about it in source code? (Issue #1164)
My dataset format is Voc ,and I don’t see some information about AR in voc_evaluator.py.
@improgress AR of VOC is not supported now.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.Message ID: @.***>

支持 VOC 的 AR。
How to record it with tensorboard

Evaluator现在支持记录召回值，您可以使用Tensorboard来记录它。

How to record it with tensorboard


Cluster HA over WAN

5h

Whenever the set of control nodes changes, test RTT between all nodes via net_ping and tune etcd time parameters accordingly.
use external etcd for vcluster: https://www.vcluster.com/docs/operator/external-datastore

Seems to be overkill. Controlplane HA over WAN works with the default settings, at least for hosts in datacenters.


feature_matrix_p4est_sc

We actually have shock capturing on the P4estMesh - but no nonconservative terms.
@andrewwinters5000 I'm not sure whether you get notified about review requests, so I'll ping you explicitly

Well, it was my fault, so don't worry


Task kotlinDslAccessorsReport causes error when configuration cache is enabled

Current Behavior
./gradlew kotlinDslAccessorsReport --configuration-cache fails
Expected Behavior
./gradlew kotlinDslAccessorsReport --configuration-cache works
Context (optional)
No response
Steps to Reproduce
// build.gradle.kts

plugins {
  idea
}

→ ./gradlew kotlinDslAccessorsReport --configuration-cache
Calculating task graph as no cached configuration is available for tasks: kotlinDslAccessorsReport

FAILURE: Build failed with an exception.

* What went wrong:
Configuration cache state could not be cached: field `reference` of `org.gradle.model.internal.type.ClassTypeWrapper` bean found in field `wrapper` of `org.gradle.model.internal.type.ModelType$Simple` bean found in field `type` of `org.gradle.kotlin.dsl.provider.plugins.DefaultProjectSchemaProviderKt$special$$inlined$typeOf$1` bean found in field `value` of `org.gradle.kotlin.dsl.accessors.SchemaType` bean found in field `target` of `org.gradle.kotlin.dsl.accessors.ProjectSchemaEntry` bean found in field `extensions` of `org.gradle.kotlin.dsl.accessors.ProjectSchema` bean found in field `value` of `org.gradle.internal.Try$Success` bean found in field `result` of `org.gradle.internal.serialization.Cached$Fixed` bean found in field `schema` of task `:kotlinDslAccessorsReport` of type `org.gradle.kotlin.dsl.accessors.tasks.PrintAccessors`: error writing value of type 'java.lang.ref.WeakReference'
> Unable to make field volatile java.lang.ref.Reference java.lang.ref.Reference.next accessible: module java.base does not "opens java.lang.ref" to unnamed module @1372bafb

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 479ms
Configuration cache entry discarded due to serialization error.

Gradle version
8.6
Build scan URL (optional)
No response
Your Environment (optional)
No response

The issue is in the backlog of the relevant team and is prioritized by them.

Thanks for providing a concise reproducer; it really helps.


Flow example - implicit flow

Hi all,
Im trying to implement a client using the Implicit flow.
But the question is also more general, I cant find how and where to set up the response_type so that I can change the flow to implicit.
To me its seems that the default flow is the authorization_code flow.
Thanks,
Zarko

I'm looking at Facebook's OIDC support here: https://www.facebook.com/.well-known/openid-configuration... their so called "limited login". Appears to only support the implicit id_token response type however.
@livio-a When you say "there is no need to support it [the implicit flow]", are you implying there is another way to handle auth to a service like Facebook OIDC from our end? If so, what would you recommend? Or were you implying that a provider not supporting the code response_type would never occur in practice?

Implicit only makes sense in certain Single Page Apps running in browsers, where the app can't or won't call the token endpoint using the code in the redirect URL. As this is a Go library, the client always runs in a server context and it is always possible to call the token endpoint. Implicit is also considered less secure as code flow. Hence, we did not see the need.
If there are mayor vendors that only support implicit, we might reconsider based on popular demand of the zitadel and /or oidc community. Technically speaking one should write to Facebook and kindly ask them to support code flow instead, given the above reasoning that seems to be more sane.


ApplicationCommandInteractionDataOption.ChannelValue always returns nil

I've been using the new Slash commands functionality from this library. I have a bot that has a subcommand that allows a user to specify a channel. However, the method to retrieve the channel struct always returns nil.
As an example, if you try a bot with the following command struct
var command = &discordgo.ApplicationCommand{
	Name:        "bot",
	Description: "Commands to configure the bot",
	Options: []*discordgo.ApplicationCommandOption{
		{
			Type:        discordgo.ApplicationCommandOptionSubCommand,
			Name:        "channel",
			Description: "Configure target channel settings",
			Options: []*discordgo.ApplicationCommandOption{
				{
					Type:        discordgo.ApplicationCommandOptionChannel,
					Name:        "channel",
					Description: "Target channel to send members to",
					Required:    true,
				},
			},
		},
	},
}

Calling ChannelValue on the response like this will only return nil:
if i.Data.Name == "bot" {
	if i.Data.Options[0].Name == "channel" {
		channel := i.Data.Options[0].ChannelValue(session) // nil
	}
}

I've been using ApplicationCommandOptionChannel, and its been working for me, are you returning the channel?


An unexpected error has occurred (day 3)

using https://rpc.gnosischain.com trying to connect here:
https://gardens.1hive.org/#/xdai/garden/0x1fc7e8d8e4bbbef77a4d035aec189373b52125a8/proposal/38
tried both firefox and chrome...  (disabled any ad blockers)
Interestingly, I can connect on the homepage, but when I navigate to the proposal (even after reloading the page) it doesn't recognize me as being connected.


Update he.coffee

+Another update for "he.coffee" file

Ok here is an update:
The site just updated and I found that the percentage went up from 8% to 41%, yay! :clap: :clap: :clap:  more than I expected.
but the point is that all the punctuation points were all messed up (and I found some miscorrections here and there while testing the site , especially from the original translation which I suspect being inspired too much by :no_entry: Google translate :no_entry: .
so I will start organizing all these after I finish translating the entire game.
meanwhile I will keep progressing until I get the 100%.
P.S: another good news, I am already having demand for the game to be localized in hebrew and arabic so they can teach coding through it at schools here. just pumping me up and make me willing to work harder :smiley:

Great work, @ChaosCat! It's awesome that you're seeing this demand. I think your translations will help a ton of players!

could anyone merge this pull request so I can work on the next update please?

Sure!

Thanks.


Force 32 bit depth buffer for WebGL

Fixes: https://github.com/godotengine/godot/issues/34211
In WebGL, default to always using 32bit depth, it should silently use 16 bits if that is unavailable.
Here is an MRP that is a little easier to use to test than the one in the issue.
stable_test.zip

Isn't 32-bit depth really uncommon, even in today's games? I thought the standard was 24-bit.

@Calinou im not sure, however the WebGL API only accepts 2 values for depth type GL_UNSIGNED_INT and GL_UNSIGNEDC_SHORT. Int can validly be anything >= 16 bits, while short is assumed to be 16 bits but can be greater.
So while I say 32 bits in the PR, I don't actually know or have control over what is created.

Thanks!

Thank you @clayjohn ! I'll try to provide better MRPs from here on...

@clayjohn, I downloaded your MRP. It is actually a test of PRIMITIVE_POINTS.
It is in fact a perfect MRP for the other issue I opened on PRIMITIVE_POINTS (I won't reference here because I think it is unrelated). But I'm going to rename it and post it there.


feat!: Refactor module to use maps instead of lists

Description
Backwards incompatible changes

target_groups previously were defined by an array of target group definitions that were created using the count meta-argument. This has been replaced with a map of target group definitions that are created using the for_each meta-argument in order to provide better stability when adding/removing target group definitions.
target_groups no longer support multiple targets per target group. There are alternate methods to achieve similar functionality such as weighted target groups or using an autoscaling group as a target when targetting EC2 instances.
The previous methods for creating listeners have been removed in favor of one argument, listeners, which take a map of listener definitions that are created using the for_each meta-argument in order to provide better stability when adding/removing listener definitions. Previously the target_group_index was used to associate/reference a target group; that is now replaced with target_group_key which is the key of the target group definition in the target_groups map.
security_group_rules has been replaced by security_group_ingress_rules and security_group_egress_rules to align with the new underlying resources.

Minimum supported version of Terraform AWS provider updated to v5.13 to support the latest features provided via the resources utilized.
Minimum supported version of Terraform updated to v1.0
The Name tag has been removed from resources

Added

Security group attachment restrictions have been removed now that both ALB and NLB support security groups
Support for creating Route53 records for ALB/NLB DNS names via the route53_records variable

Modified

enable_cross_zone_load_balancing now defaults to true
drop_invalid_header_fields now defaults to true
enable_deletion_protection now defaults to true
associate_web_acl has been added to identify when a WAFv2 Web ACL should be associated with the ALB; previously this was accomplished by checking for the presence of a value passed to web_acl_arn which is known to cause issues when the value does not exist and is computed.

See UPGRADE-9.0.md for further details
Motivation and Context

Resolves #289
Resolves #297
Resolves #298
Resolves #299
Resolves #301
Resolves #304
Resolves #305
Resolves #310

Breaking Changes

Yes

How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects
[x] I have executed pre-commit run -a on my pull request

Nice! Let me know when this is ready for my review :)

yes, sorry forgot to hit the button there 😅 - but its ready for review

@antonbabenko What do you think? Is this ready to be merged?

Highly interested in this refactor too!

also, do you know whats up with the wrappers? I can't figure out why the CI keeps showing a diff, even if I manually fix it

@antonbabenko Looks good to me.

Waiting for this feature too!

Any update on this PR? @antonbabenko
I think the majority of the work has been done and only few tweaks are needed to push this through. I think many consumers of the module can benefit from it!

Almost at the finish line. Love you guys!

Not sure if CI will correct itself once this is merged, but I had to manually adjust the wrappers to get it to pass CI. I'll follow up with an issue to ask for contributions to the patterns doc to collect common configuration/usage patterns to make groking the nested maps easier for folks. For now, I think we're close enough so here we go 🚀

@bryantbiggs I have just run the hook on this PR locally, and it behaves as on CI. Maybe you have the wrong versions of hcledit on your side? (blind guess)

hmm, this is what I have which is the latest

This PR is included in version 9.0.0 :tada:

For all following this PR, or those who may find there way here - please come help us contribute the configuration snippets that demonstrate the common usage patterns under the new v9.0 module definition. Details can be found here, thanks all! https://github.com/terraform-aws-modules/terraform-aws-alb/issues/311


Introduce feedback loop primitive and the schema for it

Include a new type of module - Loop into Plurigrid/agent/loops
The loop has to include a way to construct feedback loops that are also parsable as dialogue trees or dialogue intentions to use by the conversational agents through pre-prompting to formulate conversational sketches that are then executed as a DAG.
Example of a feedback loop:
{
  "feedback_loop": {
    "name": "gm -> gn -> gm -> ...",
    "steps": [
      {
        "name": "gm",
        "description": "Begin with their own personalized agent by saying \"gm\" when they are ready to start working.",
        "sub_steps": [
          "Summarize the tasks for today",
          "Dump thoughts and aspirations",
          "Engage in sense-making and contextualizing their work with previous commitments",
          "Etc."
        ]
      },
      {
        "name": "gridl",
        "description": "As they work, summarize their progress into the agent's context or engage in simulated dialogues with their peers' digital twins.",
        "dependencies": ["gm"]
      },
      {
        "name": "wagmi",
        "description": "Individual agents' data is aggregated by Plurigrid's superagent, Laura.",
        "dependencies": ["gridl"]
      },
      {
        "name": "gn",
        "description": "When they are ready to stop working, they say \"gn\" and have an opportunity to talk about each of the outlined commitments from before, as well as make sense of the day, reflect, capture their aspirations for the next day.",
        "dependencies": ["wagmi"]
      }
    ]
  },
  "closing_notes": "This is the first cybernetic feedback loop we will engage in with intention as we seek to make networks agentic towards reflective equilibria in the possible futures where we _all_ make it."
}

The schema to begin iterating on:
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the feedback loop."
    },
    "steps": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the step in the feedback loop."
          },
          "description": {
            "type": "string",
            "description": "A description of the step in the feedback loop."
          },
          "dependencies": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "The names of the steps that this step depends on."
            }
          },
          "sub_steps": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "The sub-steps of this step, if any."
            }
          }
        },
        "required": ["name", "description"]
      }
    }
  },
  "required": ["name", "steps"]
}


Removing unused AnimationConfiguration from RxCollectionViewSectionedAnimatedDataSource

Hi,
I would like to introduce these changes:

removing unused AnimationConfiguration from RxCollectionViewSectionedAnimatedDataSource
making AnimationConfiguration generic so it is more flexible for possible future usage

The reason is that you can't adjust animations of collection view updates in other way than a custom collection view layout. This is why AnimationConfiguration is not used in collection view batch updates (UI+SectionedViewType) and it does not make a sense for a RxCollectionViewSectionedAnimatedDataSource to have such a property. It is just misleading that you could somehow configure different animations for deleting, inserting or reloading items in a collection view.
Moreover, AnimationConfiguration is using UITableViewRowAnimation enum for configuring animation style so why bother with it while using a collection view?
That's why I would like to make it more explicit and not pollute RxCollectionViewSectionedAnimatedDataSource with properties and types it does not use.
Additionally, making AnimationConfiguration generic is more flexible (it is not coupled with UITableViewRowAnimation), hence maybe in the future there will be a specialized collection view data source using a concrete custom collection view layout with a set of predefined animations to use (not constrained to UITableViewRowAnimation enum cases). This also opens a way for the library users to provide their own custom implementations and start using RxDataSources with configurable animations for a collection view (of course conformance of UICollectionView to AnimatedSectionedViewType is needed, but this depends on using a particular collection view layout, so I am not adding it here).

Hi @Skoti ,
I'm confused about one thing, SectionedViewType and AnimatedSectionedViewType are both animated, but one has configurable animation and other one does not.
I think this should be maybe remodeled so that they both have animation type, and animation type is responsible for performing changes. Something like:
protocol SectionViewAnimation {
         associatedtype ViewType

         func insertItems(view: ViewType, paths: [IndexPath])
         func deleteItems(view: ViewType, paths: [IndexPath])
}

Implementation for table view would be:
extension UITableViewRowAnimation {
       func insertItems(view: ViewType, paths: [IndexPath]) {
           view.insertRows(at: paths, with: self)
       }
       ...
}

and for collection view
extension UITableViewRowAnimation {
       func insertItems(view: ViewType, paths: [IndexPath]) {
           self.insertItems(view: view, paths: paths) // we would have lambdas that correspond to delegate methods and by default just call `view.insertItems(at: paths)`
       }
       ...
}

@kzaher
Well ok both are animatable, although only one is configurable, so maybe just change naming to SectionedViewType and AnimationConfigurableSectionedViewType (or alternatively AnimatedSectionedViewType and ConfigurableAnimatedSectionedViewType) if that helps and that's all 😄 ?
If I understand that correctly:

so that they both have animation type, and animation type is responsible for performing changes

by both you mean SectionedViewType and AnimatedSectionedViewType? So a collection view will only gain an animation type (SectionViewAnimation) and we're keeping it without AnimationConfiguration?
If so then it makes sense for a table view to have UITableViewRowAnimation as this SectionViewAnimation type (as you showed), however, I don't know why would you like to keep the implementation misleading for a collection view (with the same animation type as a table view)? Or it is just me and I misunderstood something? 😸
So now if we would like to change an animation type (for a particular custom collection view layout) we would need an animation configuration in RxCollectionViewSectionedAnimatedDataSource and if so then there is no point differentiating SectionedViewType and AnimatedSectionedViewType.
So maybe by both you meant something else? I'm confused. 😕
Still for a collection view we could use a different type (instead of this misleading row animation) like CollectionViewLayoutAnimation which by default just forwards the calls. And if we'd like to keep AnimationConfiguration in RxCollectionViewSectionedAnimatedDataSource (otherwise animation type cannot be customized) then we can use different SectionViewAnimation either by inheriting after this CollectionViewLayoutAnimation or creating a new type if we're keeping AnimationConfiguration generic.
Excuse me these long deliberations but your reply got me more questions than answers 😃

Whoa.. this PR is from 2017, and we still have the AnimationConfiguration for CollectionViews that are just not used at all, and therefore totally confusing... guys? 0_o

@d4rkd3v1l
I can still help with this but we need the owner to make the decision.

@Skoti can you have a look at this?

@StefaniOSApps I've rebased the PR. Maybe if there is more people interested in adding this then one of the maintainers will review it.

@kzaher can you plz have a look at this clean PR ?


Revert "git-blame-ignore-revs: fix typo"

Reverts NixOS/nixpkgs#173946
I merged this too fast... The script is named git-bblame and git bblame is a git custom command, this is by design.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Oh, haha... I googled git bblame, before creating the PR yesterday, to see if it would be a custom command, but nothing came up.
Sorry 🤭


If you have a lot of money as you said, make company like (MiniClip) and hire Developers, designers :P

i am developer i need someone to work with me together, i can make alot of money believe me i am in this bussiness alot, i know how many developer take every x hour so thats why i search people i need fix some bugs that i dont know how to fix him
(sry for bad english)

i was like you and i lost my money with the developers, i lost about 2000$
Trust me you need to learn who you do your own stuff.
Day after day i did what i paid for, for free and its better and easier than what i thought.
Its just an advice, I apologize for the intrusion.

@Osher12 Ican Help U So :smile:

@kareemman00  if you make me a minimap like alis.io i pay you 20$

@gyeyoqu contact me skype : pzaze11

@Osher12  i cant find you

i using web skype

@gyeyoqu what your skype

Agar Sebastian

in description says : facebook:mayboixgamer

@Osher12 I have alis.io free code, the current update! :P

@Agarian Yes, i have main.js & sub.js free :p xDdd

Oh you're talking about the client

@Jhar2015 send msg on skype : pzaze11

@Jhair2015

@Jhair2015 you did realize taking code is illegal lmao

And especially distributing it to other people xd

http://ogar.pw/v2 =) alis.io code

@gyeyoqu send msg on skype pzaze11

@Osher12  Send me the request, skype does not show me to you in the directory D:
my skype: live:jimmy_jhair17

@Osher12  same problem , you not appear

@Jhair2015 Accept
@gyeyoqu idk why not, but try search with email<EMAIL_ADDRESS>(name Osher)

Those are the results skype throws at me. I have sent a request to the second, and you say that you have already sent it to me, but I have nothing ...

@Jhair2015 what is your discord?
@gyeyoqu what is your discord?

@Osher12 https://discordapp.com/channels/280777597338648576

@Jhair2015 not working just send me the code of the server

https://discord.gg/4vHw8

@Jhair2015 expired

and now? https://discord.gg/rerUJgr