Pool performance on Assigin IPV4 address when concurrently launching containers

Required information

Distribution: CentOS Linux 7 (Core)
Distribution version: CentOS Linux 7 (Core)
The output of "lxc info" or if that fails:
Client version:  4.24
Server version: 4.24

config:
  core.https_address: <IP_ADDRESS>:8443
  core.trust_password: true
api_extensions:
- storage_zfs_remove_snapshots
- container_host_shutdown_timeout
- container_stop_priority
- container_syscall_filtering
- auth_pki
- container_last_used_at
- etag
- patch
- usb_devices
- https_allowed_credentials
- image_compression_algorithm
- directory_manipulation
- container_cpu_time
- storage_zfs_use_refquota
- storage_lvm_mount_options
- network
- profile_usedby
- container_push
- container_exec_recording
- certificate_update
- container_exec_signal_handling
- gpu_devices
- container_image_properties
- migration_progress
- id_map
- network_firewall_filtering
- network_routes
- storage
- file_delete
- file_append
- network_dhcp_expiry
- storage_lvm_vg_rename
- storage_lvm_thinpool_rename
- network_vlan
- image_create_aliases
- container_stateless_copy
- container_only_migration
- storage_zfs_clone_copy
- unix_device_rename
- storage_lvm_use_thinpool
- storage_rsync_bwlimit
- network_vxlan_interface
- storage_btrfs_mount_options
- entity_description
- image_force_refresh
- storage_lvm_lv_resizing
- id_map_base
- file_symlinks
- container_push_target
- network_vlan_physical
- storage_images_delete
- container_edit_metadata
- container_snapshot_stateful_migration
- storage_driver_ceph
- storage_ceph_user_name
- resource_limits
- storage_volatile_initial_source
- storage_ceph_force_osd_reuse
- storage_block_filesystem_btrfs
- resources
- kernel_limits
- storage_api_volume_rename
- macaroon_authentication
- network_sriov
- console
- restrict_devlxd
- migration_pre_copy
- infiniband
- maas_network
- devlxd_events
- proxy
- network_dhcp_gateway
- file_get_symlink
- network_leases
- unix_device_hotplug
- storage_api_local_volume_handling
- operation_description
- clustering
- event_lifecycle
- storage_api_remote_volume_handling
- nvidia_runtime
- container_mount_propagation
- container_backup
- devlxd_images
- container_local_cross_pool_handling
- proxy_unix
- proxy_udp
- clustering_join
- proxy_tcp_udp_multi_port_handling
- network_state
- proxy_unix_dac_properties
- container_protection_delete
- unix_priv_drop
- pprof_http
- proxy_haproxy_protocol
- network_hwaddr
- proxy_nat
- network_nat_order
- container_full
- candid_authentication
- backup_compression
- candid_config
- nvidia_runtime_config
- storage_api_volume_snapshots
- storage_unmapped
- projects
- candid_config_key
- network_vxlan_ttl
- container_incremental_copy
- usb_optional_vendorid
- snapshot_scheduling
- snapshot_schedule_aliases
- container_copy_project
- clustering_server_address
- clustering_image_replication
- container_protection_shift
- snapshot_expiry
- container_backup_override_pool
- snapshot_expiry_creation
- network_leases_location
- resources_cpu_socket
- resources_gpu
- resources_numa
- kernel_features
- id_map_current
- event_location
- storage_api_remote_volume_snapshots
- network_nat_address
- container_nic_routes
- rbac
- cluster_internal_copy
- seccomp_notify
- lxc_features
- container_nic_ipvlan
- network_vlan_sriov
- storage_cephfs
- container_nic_ipfilter
- resources_v2
- container_exec_user_group_cwd
- container_syscall_intercept
- container_disk_shift
- storage_shifted
- resources_infiniband
- daemon_storage
- instances
- image_types
- resources_disk_sata
- clustering_roles
- images_expiry
- resources_network_firmware
- backup_compression_algorithm
- ceph_data_pool_name
- container_syscall_intercept_mount
- compression_squashfs
- container_raw_mount
- container_nic_routed
- container_syscall_intercept_mount_fuse
- container_disk_ceph
- virtual-machines
- image_profiles
- clustering_architecture
- resources_disk_id
- storage_lvm_stripes
- vm_boot_priority
- unix_hotplug_devices
- api_filtering
- instance_nic_network
- clustering_sizing
- firewall_driver
- projects_limits
- container_syscall_intercept_hugetlbfs
- limits_hugepages
- container_nic_routed_gateway
- projects_restrictions
- custom_volume_snapshot_expiry
- volume_snapshot_scheduling
- trust_ca_certificates
- snapshot_disk_usage
- clustering_edit_roles
- container_nic_routed_host_address
- container_nic_ipvlan_gateway
- resources_usb_pci
- resources_cpu_threads_numa
- resources_cpu_core_die
- api_os
- container_nic_routed_host_table
- container_nic_ipvlan_host_table
- container_nic_ipvlan_mode
- resources_system
- images_push_relay
- network_dns_search
- container_nic_routed_limits
- instance_nic_bridged_vlan
- network_state_bond_bridge
- usedby_consistency
- custom_block_volumes
- clustering_failure_domains
- resources_gpu_mdev
- console_vga_type
- projects_limits_disk
- network_type_macvlan
- network_type_sriov
- container_syscall_intercept_bpf_devices
- network_type_ovn
- projects_networks
- projects_networks_restricted_uplinks
- custom_volume_backup
- backup_override_name
- storage_rsync_compression
- network_type_physical
- network_ovn_external_subnets
- network_ovn_nat
- network_ovn_external_routes_remove
- tpm_device_type
- storage_zfs_clone_copy_rebase
- gpu_mdev
- resources_pci_iommu
- resources_network_usb
- resources_disk_address
- network_physical_ovn_ingress_mode
- network_ovn_dhcp
- network_physical_routes_anycast
- projects_limits_instances
- network_state_vlan
- instance_nic_bridged_port_isolation
- instance_bulk_state_change
- network_gvrp
- instance_pool_move
- gpu_sriov
- pci_device_type
- storage_volume_state
- network_acl
- migration_stateful
- disk_state_quota
- storage_ceph_features
- projects_compression
- projects_images_remote_cache_expiry
- certificate_project
- network_ovn_acl
- projects_images_auto_update
- projects_restricted_cluster_target
- images_default_architecture
- network_ovn_acl_defaults
- gpu_mig
- project_usage
- network_bridge_acl
- warnings
- projects_restricted_backups_and_snapshots
- clustering_join_token
- clustering_description
- server_trusted_proxy
- clustering_update_cert
- storage_api_project
- server_instance_driver_operational
- server_supported_storage_drivers
- event_lifecycle_requestor_address
- resources_gpu_usb
- clustering_evacuation
- network_ovn_nat_address
- network_bgp
- network_forward
- custom_volume_refresh
- network_counters_errors_dropped
- metrics
- image_source_project
- clustering_config
- network_peer
- linux_sysctl
- network_dns
- ovn_nic_acceleration
- certificate_self_renewal
- instance_project_move
- storage_volume_project_move
- cloud_init
- network_dns_nat
- database_leader
- instance_all_projects
- clustering_groups
- ceph_rbd_du
- instance_get_full
- qemu_metrics
- gpu_mig_uuid
- event_project
- clustering_evacuation_live
- instance_allow_inconsistent_copy
- network_state_ovn
- storage_volume_api_filtering
- image_restrictions
- storage_zfs_export
- network_dns_records
- storage_zfs_reserve_space
- network_acl_log
- storage_zfs_blocksize
- metrics_cpu_seconds
- instance_snapshot_never
- certificate_token
- instance_nic_routed_neighbor_probe
- event_hub
- agent_nic_config
- projects_restricted_intercept
- metrics_authentication
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
- tls
environment:
  addresses:
  - <IP_ADDRESS>:8443
  architectures:
  - x86_64
  - i686
  certificate:
  driver: lxc
  driver_version: 4.0.12
  firewall: xtables
  kernel: Linux
  kernel_architecture: x86_64
  kernel_features:
    idmapped_mounts: "false"
    netnsid_getifaddrs: "false"
    seccomp_listener: "false"
    seccomp_listener_continue: "false"
    shiftfs: "false"
    uevent_injection: "false"
    unpriv_fscaps: "true"
  kernel_version: 3.10.0-1160.25.1.el7.x86_64
  lxc_features:
    cgroup2: "true"
    core_scheduling: "true"
    devpts_fd: "true"
    idmapped_mounts_v2: "true"
    mount_injection_file: "true"
    network_gateway_device_route: "true"
    network_ipvlan: "true"
    network_l2proxy: "true"
    network_phys_macvlan_mtu: "true"
    network_veth_router: "true"
    pidfd: "true"
    seccomp_allow_deny_syntax: "true"
    seccomp_notify: "true"
    seccomp_proxy_send_notify_fd: "true"
  os_name: CentOS Linux
  os_version: "7"
  project: default
  server: lxd
  server_clustered: false
  server_event_mode: full-mesh
  server_name: osinfra-test-cluster-005-6099x
  server_pid: 1020718
  server_version: "4.24"
  storage: btrfs
  storage_version: 5.4.1
  storage_supported_drivers:
  - name: ceph
    version: 15.2.14
    remote: true
  - name: btrfs
    version: 5.4.1
    remote: false
  - name: cephfs
    version: 15.2.14
    remote: true
  - name: dir
    version: "1"
    remote: false
  - name: lvm
    version: 2.03.07(2) (2019-11-30) / 1.02.167 (2019-11-30) / 4.37.1
    remote: false

Kernel version: Linux osinfra-test-cluster-005-6099x 3.10.0-1160.25.1.el7.x86_64 #1 SMP Wed Apr 28 21:49:45 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
LXC version:
LXD version:
Storage backend in use: btrfs

Issue description
When creating lxc containers concurrently, there would be a pool performance on assiging the IPv4 address of each containers
let's take it to 20, there would be about 40-50 seconds delay after IPv6 address are fully assigned while IPv4 are emtpy.
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
|                NAME                 |  STATE  | IPV4 |                     IPV6                      |   TYPE    | SNAPSHOTS |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| res44a3e1043840260d3a536dd88deee68a | STOPPED |      |                                               | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| res354ee1745cea9544612b9fa47fc24112 | STOPPED |      |                                               | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| resb2461b8e0881b7d733f960006bbcfa72 | STOPPED |      |                                               | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike1                          | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:feca:ec94 (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike2                          | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fed2:2769 (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike3                          | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fed8:dd9f (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike4                          | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe6f:dfd (eth0)  | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike5                          | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe55:7d1 (eth0)  | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike6                          | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fed4:14a2 (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike7                          | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe25:ba24 (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike8                          | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe79:b31b (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike9                          | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe21:11b6 (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike10                         | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe72:c023 (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike11                         | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe37:59e6 (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike12                         | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe18:222c (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike13                         | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe91:e8d5 (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike14                         | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe94:53c4 (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike15                         | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe8b:5aa2 (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike16                         | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe4a:94a9 (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike17                         | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe77:50ad (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike18                         | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe12:317b (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike19                         | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe0e:efb8 (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+
| tommylike20                         | RUNNING |      | fd42:2c15:68be:30b4:216:3eff:fe48:798b (eth0) | CONTAINER | 0         |
+-------------------------------------+---------+------+-----------------------------------------------+-----------+-----------+

Steps to reproduce

Step one:  launch 20 ubuntu containers

Information to attach

[ ] Any relevant kernel output (dmesg)
[ ] Container log (lxc info NAME --show-log)
[ ] Container configuration (lxc config show NAME --expanded)
[ ] Main daemon log (at /var/log/lxd/lxd.log or /var/snap/lxd/common/lxd/logs/lxd.log)
[ ] Output of the client with --debug
[ ] Output of the daemon with --debug (alternatively output of lxc monitor while reproducing the issue)

That's unlikely to be a LXD issue.
IPv4 only gets assigned once the container has started up enough to run systemd-networkd and have it run the DHCP client.
This always takes a little while and likely quite a bit longer on a busy system such like the one you're describing.
IPv6 is instead handled directly by the kernel so doesn't need anything from the container itself and will appear almost immediately.

Apart from speeding up the container start up process, is there any other way to alleviate this? I mean it's much faster when fewer instances are launching.

That's unlikely to be a LXD issue.
IPv4 only gets assigned once the container has started up enough to run systemd-networkd and have it run the DHCP client. This always takes a little while and likely quite a bit longer on a busy system such like the one you're describing.
IPv6 is instead handled directly by the kernel so doesn't need anything from the container itself and will appear almost immediately.

console log for my instance:
systemd v243-54.oe1 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=legacy)
Detected virtualization lxc.
Detected architecture x86-64.
Failed to create symlink /sys/fs/cgroup/cpu: File exists
Failed to create symlink /sys/fs/cgroup/net_cls: File exists

Welcome to openEuler 20.03 (LTS-SP3)!

Initializing machine ID from random generator.
Couldn't move remaining userspace processes, ignoring: Invalid argument
/usr/lib/systemd/system/dbus.socket:5: ListenStream= references a path below legacy directory /var/run/, updating /var/run/dbus/system_bus_socket → /run/dbus/system_bus_socket; please update the unit file accordingly.
dev-.lxd\x2dmounts.mount: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
(This warning is only shown for the first unit using IP firewalling.)
[  OK  ] Created slice system-getty.slice.
[  OK  ] Created slice User and Session Slice.
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[UNSUPP] Starting of Arbitrary Executable Fi…tem Automount Point not supported.
[  OK  ] Reached target Local Encrypted Volumes.
[  OK  ] Reached target Paths.
[  OK  ] Reached target Remote File Systems.
[  OK  ] Reached target Slices.
[  OK  ] Reached target Swap.
[  OK  ] Listening on Process Core Dump Socket.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket.
[  OK  ] Listening on udev Control Socket.
[  OK  ] Listening on udev Kernel Socket.
         Mounting Temporary Directory (/tmp)...
         Starting Journal Service...
         Starting Remount Root and Kernel File Systems...
         Starting Apply Kernel Variables...
         Starting udev Coldplug all Devices...
[  OK  ] Started Journal Service.
[  OK  ] Mounted Temporary Directory (/tmp).
[  OK  ] Started Remount Root and Kernel File Systems.
[  OK  ] Started Apply Kernel Variables.
[  OK  ] Started udev Coldplug all Devices.
         Starting Flush Journal to Persistent Storage...
         Starting Create System Users...
[  OK  ] Started Flush Journal to Persistent Storage.
[  OK  ] Started Create System Users.
         Starting Create Static Device Nodes in /dev...
[  OK  ] Started Create Static Device Nodes in /dev.
[  OK  ] Reached target Local File Systems (Pre).
[  OK  ] Reached target Local File Systems.
         Starting Restore /run/initramfs on shutdown...
         Starting Rebuild Dynamic Linker Cache...
         Starting Create Volatile Files and Directories...
         Starting udev Kernel Device Manager...
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started Restore /run/initramfs on shutdown.
[  OK  ] Started Rebuild Dynamic Linker Cache.
[  OK  ] Started Create Volatile Files and Directories.
         Starting Security Auditing Service...
         Starting Rebuild Journal Catalog...
[FAILED] Failed to start Security Auditing Service.
See 'systemctl status auditd.service' for details.
[  OK  ] Started Rebuild Journal Catalog.
         Starting Update is Completed...
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Started Update is Completed.
[  OK  ] Stopped Security Auditing Service.
         Starting Security Auditing Service...
[FAILED] Failed to start Security Auditing Service.
See 'systemctl status auditd.service' for details.
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Stopped Security Auditing Service.
         Starting Security Auditing Service...
[FAILED] Failed to start Security Auditing Service.
See 'systemctl status auditd.service' for details.
[  OK  ] Reached target System Initialization.
[  OK  ] Started dnf makecache --timer.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timers.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
[  OK  ] Started D-Bus System Message Bus.
         Starting Update RTC With System Clock...
         Starting LSB: Bring up/down networking...
         Starting Login Service...
[  OK  ] Started Update RTC With System Clock.
[  OK  ] Stopped Security Auditing Service.
         Starting Security Auditing Service...
[  OK  ] Started Login Service.
         Starting Hostname Service...
[FAILED] Failed to start Security Auditing Service.
See 'systemctl status auditd.service' for details.
[  OK  ] Started LSB: Bring up/down networking.
[  OK  ] Started Hostname Service.
[  OK  ] Reached target Network.
[  OK  ] Reached target Network is Online.
         Starting System Logging Service...
         Starting Permit User Sessions...
[  OK  ] Started Permit User Sessions.
[  OK  ] Stopped Security Auditing Service.
         Starting Security Auditing Service...
[  OK  ] Started Console Getty.
[  OK  ] Reached target Login Prompts.
[FAILED] Failed to start Security Auditing Service.
See 'systemctl status auditd.service' for details.
[  OK  ] Started System Logging Service.
[  OK  ] Started Command Scheduler.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Stopped Security Auditing Service.
         Starting Security Auditing Service...
[  OK  ] Started Update UTMP about System Runlevel Changes.
[FAILED] Failed to start Security Auditing Service.
See 'systemctl status auditd.service' for details.

You can so some tweaks to your image to have less things start on boot. If using Ubuntu, you may want to try images:ubuntu/20.04 instead of ubuntu:20.04 as the images: (community image) is lighter and doesn't run cloud-init on first boot which may save you some time.
But overall, I'd expect it to be I/O and CPU contention slowing things down on startup which isn't something that we can really do anything about on the LXD side of things.


Ignoring packaging.json if it does not exist

Current dependencies on/for this PR:

main

PR #45   👈

This comment was auto-generated by Graphite.


I think content-length should be in octets

According to https://httpwg.org/specs/rfc7230.html#header.content-length content length should be the number of octets in the payload. Elixir's String. length/1 counts the number of UTF-8 graphemes, which may or may not be the same.
I added a function octet_length/1 to return the number of String.codepoints/1  and replaced the calls to String.length/1 with calls to octet_length/1
Thanks for a great library to simplify creating multipart post requests.

Let me clean up the documentation string


Finalize events

🚀 🚀 Pull Request
Checklist:

[ ]  My code follows the style guidelines of this project and the Contributing document
[ ]  I have commented my code, particularly in hard-to-understand areas
[ ]  I have kept the coverage-rate up
[ ]  I have performed a self-review of my own code and resolved any problems
[ ]  I have checked to ensure there aren't any other open Pull Requests for the same change
[ ]  I have described and made corresponding changes to the relevant documentation
[ ]  New and existing unit tests pass locally with my changes

Changes
Removed prod1 endpoint.
Send event to the default backend.
Changed localhost backend url.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


github-pr-check output should print github enterprise URL, if applicable

See:
https://github.com/reviewdog/reviewdog/blob/9f7fd10cac4a67490f93ba2b572c80bed695b9dc/service/github/githubutils/utils.go#L32
... I don't know how involved it would be to adjust the host here based on whether reviewdog is working within a github-enterprise context or github cloud context, but would be nice to get correct links here.
I'm very happy to submit a PR with a little assistance on how to approach if would be appreciated [I know it's often more trouble than it's worth!]

I faced the same issue. In my opinion, we ought to use an environment variable to change the domain.

fixed by https://github.com/reviewdog/reviewdog/pull/1433


🚀 Feature Proposal: Built-in Support for Performance Tests

Decided to simply update my tests to make use of the ms output given for every test.


Feature request: Allow for adding additional message between summary and password

The summary as defined in mkdocs.yml is the only way (apart from the password placeholder) on a protected page to convey a message when not logged in. As the summary replaces the <h1> tag when not logged in, leaving additional information there, such as on how to obtain a password, may look extremely bulky .
Proposition:
Allow for a configurable message to be placed within a <p> element inbetween the <h1> and the password input.
Suggested configuration:
- encryptcontent:
        message: 'Contact Support for access to this page.'

Visualisation of result:

I add an additional information message in the extra variables.
Check README here
The changes are made in this commit: https://github.com/CoinK0in/mkdocs-encryptcontent-plugin/commit/d2635a33f36b88714faeaff439d9fbe510026b55

I just gave the install a test and when starting up MkDocs it fails due to lack of BeautifulSoup, see error message below. After manually install it it runs. Perhaps it should be installed as a dependecy.
However, even though the new encryption_info_message works fine, the css_class is only applied once I'm at the locked page, not before. The prefix is still there all the time though.
PS C:\MkDocs> mkdocs serve
INFO    -  Building documentation...
Traceback (most recent call last):
  File "c:\python\python38\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\python\python38\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Python\Python38\Scripts\mkdocs.exe\__main__.py", line 9, in <module>
  File "c:\python\python38\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "c:\python\python38\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "c:\python\python38\lib\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "c:\python\python38\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\python\python38\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "c:\python\python38\lib\site-packages\mkdocs\__main__.py", line 133, in serve_command
    serve.serve(
  File "c:\python\python38\lib\site-packages\mkdocs\commands\serve.py", line 141, in serve
    config = builder()
  File "c:\python\python38\lib\site-packages\mkdocs\commands\serve.py", line 122, in builder
    config = load_config(
  File "c:\python\python38\lib\site-packages\mkdocs\config\base.py", line 197, in load_config
    errors, warnings = cfg.validate()
  File "c:\python\python38\lib\site-packages\mkdocs\config\base.py", line 107, in validate
    run_failed, run_warnings = self._validate()
  File "c:\python\python38\lib\site-packages\mkdocs\config\base.py", line 62, in _validate
    self[key] = config_option.validate(value)
  File "c:\python\python38\lib\site-packages\mkdocs\config\config_options.py", line 131, in validate
    return self.run_validation(value)
  File "c:\python\python38\lib\site-packages\mkdocs\config\config_options.py", line 609, in run_validation
    plgins[item] = self.load_plugin(item, cfg)
  File "c:\python\python38\lib\site-packages\mkdocs\config\config_options.py", line 617, in load_plugin
    Plugin = self.installed_plugins[name].load()
  File "c:\python\python38\lib\site-packages\pkg_resources\__init__.py", line 2443, in load
    return self.resolve()
  File "c:\python\python38\lib\site-packages\pkg_resources\__init__.py", line 2449, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "c:\python\python38\lib\site-packages\encryptcontent\plugin.py", line 11, in <module>
    from bs4 import BeautifulSoup
ModuleNotFoundError: No module named 'bs4'

I fix BS4 requirement.
Please use issue #7 for css class problem.


Support users adding pictures via urls that automatically download

As above
Should have a look at how anki-connect handles the url stuff. Could be a possible attack vector so not really sure about this feature tbh but it is technically an enabler for anki-remote-decks

Closed but documentation needed


Create a Migration Guide document

This idea was discussed in the past, having a Migration Guide document would help to improve the migration guide as we can ask the author of each contribution that requires a paragraph on it to write it.
If we end up adding such document, it might be worth to add a sentence in the PR template (having a CI check sounds a little too much imho)

We have the start of these in our release notes, I'm wondering if a separate document is better than just using those :thinking:

We can definitely squeeze them into the changelog, that's totally fine with me. The important part, for me, is to allow the author of a change to write them instead of one person doing them all at release time.

There is a fact that the document for essp-hal is a bit poor and not keep up with the releases.
I can join the team to contribute to this guide or making a  better living esp-hal documentation.
How should I start?

@trinhanhtuan documentation is separate from a migration guide. PRs to improve docs can be filed at anytime and would be most welcome :).


fix!: Reliable block header

Description
This PR improves reliability of posting block headers to zetacore so that the headers form a chain connected
by the ParentHash.

A BlockHeaderState variable is added to state machine to track latest block headers on each chain
zetaclient will use the BlockHeaderState to fetch and submit the "next" block header
zetacore state machine will reject block header submissions that do not have a parent already in (this adds a bit more validation to the block header chains and make it harder to inadvertently or fabricate the block headers).

Upgrade compatibility
Consensus breaking; no need for state migration.
Added a smoketest to test continuity of block headers forming a chain.
related: #1255
Type of change

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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Include instructions and any relevant details so others can reproduce.

[x] Tested CCTX in localnet
[ ] Tested in development environment
[x] Go unit tests
[ ] Go integration tests
[ ] Tested via GitHub Actions

Checklist:

[x] I have added unit tests that prove my fix feature works

@brewmaster012 it will require a review from @zeta-chain/devops since .github has been modified


cf unset-space-role takes wrong api hostname and fails

Command
cf unset-space-role xxx sampleorg samplespace SpaceDeveloper
What occurred
Error performing request: dial tcp: lookup api.sys.us1.covapp.iodevelopers: no such host
What you expected to occur
After deleting user, I expected a OK message.
CLI Version
cf version 6.22.2+a95e24c-2016-10-27 and cf version 6.26.0+9c9a261fd.2017-04-06
CC API Endpoint Version
2.36.0
CF Trace
REQUEST: [2017-05-08T12:40:22+05:30]
DELETE /?async=true HTTP/1.1
Host: api.sys.us1.covapp.iodevelopers
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
Connection: close
Content-Type: application/json
User-Agent: go-cli 6.22.2+a95e24c / darwin
Platform & Shell Details
Mac OS X Sierra Terminal
Any other relevant information
The URL construction is wrong. Appending "developer" to API URL

Hi @ssurenr
I was able to reproduce it. We'll investigate. Thanks for the report!
Regards,
Dies Koper
CF CLI PM

Resolved in 6.27.0. Thanks for reporting.
https://github.com/cloudfoundry/cli#downloads
Cheers,
Dies Koper
CF CLI PM


Frontier

finalizes instructions for setup on frontier.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: Quentin-Anthony:x: Jacob HatefJacob Hatef seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


API KEY for Map Quest

Which API should I use to put in the configuration?
Consumer key or secret or other?
I tried the consumer key and it didn't work.

The import continue appears as "Unknown location"

It should be the consumer key. Do you have a file at ~/.elodie/config.ini?

I let the config.ini in the project folder.
Issue closed. It worked.

This is related to #6. We shouldn't use ~/.elodie but for now that's where we look :).


Virtual host support

In addition to being able to specify the context path for a webapp, I would like to specify the virtual hosts that it responds to.

It shouldn't be really complicated, we just need to reestructure the code a little bit to create several hosts and add the apps to them.
We'd need to change how the tomcat container is created here:
https://github.com/trinidad/trinidad/blob/master/lib/trinidad/server.rb#L18-40
This is the helper class that's used to initialize tomcat and the apps:
https://github.com/apache/tomcat/blob/trunk/java/org/apache/catalina/startup/Tomcat.java
the method addWebapp already supports the host as a parameter there:
https://github.com/apache/tomcat/blob/trunk/java/org/apache/catalina/startup/Tomcat.java#L512
More on Tomcat's virtual hosts:
http://tomcat.apache.org/tomcat-7.0-doc/virtual-hosting-howto.html
http://tomcat.apache.org/tomcat-7.0-doc/config/host.html
PRO TIP: every xml element in tomcat's configuration maps to a java class that we can use, i.e: the Host element maps to the class StandardHost.

I've started to work on this in the virtual host branch:
https://github.com/trinidad/trinidad/tree/virtual_host
the main changes are already there I think but it still needs more work and testing though.

Buuuu, I found a bug in Tomcat that breaks my virtual hosts initialization:
https://issues.apache.org/bugzilla/show_bug.cgi?id=52387

@rykov can you check the virtual_host branch and let me know what you think. Any feedback would be really appreciated. I've added some lines and an example in the readme. I'll probably merge it to master and release a new version with this and other changes by the next week, after we release the new version of jruby-rack.

I don't completely understand the configuration/DSL to configure hosts via these changes.  In this particular instance, I think the inverse config mapping (appBase => hostname) would be more appropriate.  A StandardHost can only have one appBase, but multiple hosts (via aliases), so the mapping allows for future expansion into supporting multiple hosts and other configuration.
For my personal use case, it would be more convenient to expand on the app_config[:host] approach.  It doesn't seem like the code you've specified would work because you're sending a hostname string where Tomcat.addWebapp expects a Host object.
https://github.com/trinidad/trinidad/compare/master...virtual_host#L1R105
https://github.com/apache/tomcat/blob/trunk/java/org/apache/catalina/startup/Tomcat.java#L516
This is the approach I would prefer, especially if I could just use :host in app configuration and the framework would automatically find/create Host objects and attach the application contexts to them.  As a bonus, it would be best if I didn't need to define a top-level :hosts configuration.

Actually it works quite fine, app_config[:host] is a host object. I agree that the mapping appBase => hostname makes more sense.
I'm not completely sure if I understand what you mean with "the framework would automatically find/create host...". Feel free to send a pull reques with your suggestions and I'll merge it right away.

Updated my trinidad_jars to 1.0.2 - the same problem is still occurring

Updated my trinidad_jars to 1.0.2 - the same problem is still occurring

I will upgrade the dependency version tomorrow. Just this came to my mind, are you using trinidad_daemon_extension? it has a decorator to call tomcat and it only has two parameters.
https://github.com/trinidad/trinidad_daemon_extension/blob/master/src/main/java/org/jruby/trinidad/TrinidadDaemon.java#L47

You're right.  I am using trinidad_daemon_extensions.  Good catch!

I've released the version 0.2.9 of the extension that fixes the decorator. Yay!!


Matrix Multiplication

Write a Java program to multiply two given matrices.
I am a Gssoc21 participant. I like to implement this code using java.
kindly assign this problem to me so that I can contribute GSSOC21

issue already present at #86


Error 400 in self hosting mode with multiple ips

Hi!
We have a server with multiple ips
The server runs IIS 10 with two websites, and 2 other custom web services by proprietary software.
All four web services are in different ips and visible from the internet.
My case is the following:
I shut down all servers including IIS (iisreset /stop) and trying to obtain a certificate for one of the IIS websites with:
wacs.exe --test --verbose --force --validation selfhosting --store centralssl --centralsslstore d:\IIS_Central_Cert_Store --target manual --host sub1.example.com
 [VERB] Verbose mode logging enabled
 [VERB] Looking for settings.json in d:\Win-acme-letsencrypt
 [DBUG] Config folder: C:\ProgramData\win-acme\acme-staging-v02.api.letsencrypt.org
 [DBUG] Log path: C:\ProgramData\win-acme\acme-staging-v02.api.letsencrypt.org\Log
 [DBUG] Cache path: C:\ProgramData\win-acme\acme-staging-v02.api.letsencrypt.org\Certificates
 [VERB] Arguments: --test --verbose --force --validation selfhosting --store centralssl --centralsslstore d:\IIS_Central_Cert_Store --target manual --host sub1.example.com
 [DBUG] Renewal period: 55 days

 [INFO] A simple Windows ACMEv2 client (WACS)
 [INFO] Software version <IP_ADDRESS>3 (RELEASE, PLUGGABLE)
 [INFO] ACME server https://acme-staging-v02.api.letsencrypt.org/
 [WARN] Proxying via outproxy.example.com:54321
 [VERB] SecurityProtocol setting: SystemDefault
 [DBUG] Connection OK!
 [INFO] IIS version 10.0
 [INFO] Running with administrator credentials
 [WARN] Scheduled task not configured yet
 [INFO] Please report issues at https://github.com/win-acme/win-acme
 [VERB] Test for international support: 語言 язык لغة
 [INFO] Running in mode: Unattended, Test, IgnoreCache
 [INFO] Target generated using plugin Manual: sub1.example.com
 [VERB] Adding <IP_ADDRESS> as DNS server
 [VERB] Adding <IP_ADDRESS> as DNS server
 [VERB] Adding <IP_ADDRESS> as DNS server
 [VERB] Checking [Manual] sub1.example.com
 [DBUG] Refreshing order...
 [VERB] Loading ACME account signer...
 [DBUG] Loading signer from C:\ProgramData\win-acme\acme-staging-v02.api.letsencrypt.org\Signer_v2
 [VERB] Constructing ACME protocol client...
 [DBUG] Send GET request to https://acme-staging-v02.api.letsencrypt.org/directory
 [VERB] Request completed with status OK
 [DBUG] Send HEAD request to https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce
 [VERB] Request completed with status OK
 [DBUG] Loading account information from C:\ProgramData\win-acme\acme-staging-v02.api.letsencrypt.org\Registration_v2
 [DBUG] Send POST request to https://acme-staging-v02.api.letsencrypt.org/acme/order/13180333/85717007
 [VERB] Request completed with status OK
 [DBUG] Cached order has status invalid, discarding
 [VERB] Creating order for hosts: ["sub1.example.com"]
 [DBUG] Send POST request to https://acme-staging-v02.api.letsencrypt.org/acme/new-order
 [VERB] Request completed with status Created
 [VERB] Order https://acme-staging-v02.api.letsencrypt.org/acme/order/13180333/85717277 created
 [VERB] Handle authorization 1/2
 [DBUG] Send POST request to https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/49917814
 [VERB] Request completed with status OK
 [INFO] Authorize identifier sub1.example.com
 [VERB] Initial authorization status: pending
 [VERB] Challenge types available: ["http-01", "dns-01", "tls-alpn-01"]
 [VERB] Initial challenge status: pending
 [INFO] Authorizing sub1.example.com using http-01 validation (SelfHosting)
 [DBUG] Submitting challenge answer
 [DBUG] Send POST request to https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/49917814/TQs39Q
 [VERB] Request completed with status OK
 [DBUG] Refreshing authorization (1/15)
 [DBUG] Send POST request to https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/49917814/TQs39Q
 [VERB] Request completed with status OK
 [EROR] {
  "type": "urn:ietf:params:acme:error:connection",
  "detail": "Fetching http://sub1.example.com/.well-known/acme-challenge/Tf2sex8oLGNbbD_4UcnDUUVENnIN_abn-byaeXgMi2Y: Connection refused",
  "status": 400
}
 [EROR] Authorization result: invalid
 [VERB] Starting post-validation cleanup
 [VERB] Post-validation cleanup was succesful
 [EROR] Create certificate failed: Authorization failed: {
  "type": "urn:ietf:params:acme:error:connection",
  "detail": "Fetching http://sub1.example.com/.well-known/acme-challenge/Tf2sex8oLGNbbD_4UcnDUUVENnIN_abn-byaeXgMi2Y: Connection refused",
  "status": 400
}

It looks like wacs doesn't listen to the ip of sub1.example.com
I also monitor 'LISTENING' ports with tcpview and i can see wacs to listen ONLY to the 2 ips of the IIS websites, and not to all 4 of the available ips.
What am I doing wrong?
BTW Is there a way to define the validation listening ip of wacs?
I would expect In unattended self hosting mode, an option like --validationipaddress but I can't find something similar.

Well, I think I found the reason. I'm documenting it here in case someone else finds it useful.
Issuing netsh http show iplisten
only the two ips of the IIS websites were listed. These were the ips wacs was listening to, for the validation.
After adding the ip of sub1.example.com with
netsh http add iplisten <ip>,  wacs started listening on that ip too, and the validation was successful.
That leaves me with just the question:

Is there a way to define the validation listening ip of wacs?
I would expect In unattended self hosting mode, an option like --validationipaddress but I can't find something similar.

Hi @gchr, the API that we use for this doesn't allow us to specify which IP address(es) to listen to, so what's happening here are implementation details of the .NET Core framework. It's difficult to say whether it's a bug or not.
The HttpListener supports port sharing and it can coordinate with IIS at the kernel level (which is what you are seeing/manipulating with netsh). My best guess is that Microsoft is unable to make sure that it would work with your custom webservices and therefor plays it safe, only picking those IP's which it knows are bound to processes that support port sharing.
I don't think there is a reasonable solution from our side for this, I wouldn't want win-acme to directly interfere with netsh because that can lead to all kinds of trouble, but if we can pin down a reproducible case we may report the issue to Microsoft and perhaps get a fix in a future framework release.


Data import from sql file

I am using this library which is very helpful in using JDBC transactions. It would be great if we get a feature to execute sql script file which will create the tables at once. Currently we have to create tables manually which is error prone. So it would be great feature to add the database sql script file and execute to create the tables automatically.
Regards,
Manohar Bhattarai

While using JDBCTemplate for executeUpdate with list of QueryParameter, I got SQLException stating inclusion of the Unexpected token when there is at least one parameter, whose name begins with one of the earlier parameter.
Some of the list of QueryParameter that caused exception are : ..,enrolled,enrolledOn,enrolledFrom,..
Caught Exception:
java.sql.SQLException: Unexpected token: 1 in statement [INSERT INTO beneficiaries(id_number, id_type, fullname, zone, district, vdc_or_municipality, ward_no, enrolled, enrolled_on, enrolled_from) VALUES(?,?,?,?,?,?,?,?1,?On,?From)]

fixed


need a way to set the tmp dir.

I needed to move the .tmp dir somewhere else so I
ln -s /tmp .tmp
and tried to run but got
ERROR in /tmp/mocha-webpack/3b4322aaa3a221e1139cdef1c99b0e0c-entry.js
Module not found: Error: Cannot resolve 'file' or 'directory' ../../src in /tmp/mocha-webpack
resolve file
resolve directory
/src doesn't exist
@ /tmp/mocha-webpack/3b4322aaa3a221e1139cdef1c99b0e0c-entry.js 5:23-58
// This gets replaced by webpack with the updated files on rebuild
var __webpackManifest__ = [];

var testsContext = require.context("../../src", false);

Sorry, don't want to provide an option to set the tmp dir. The temp dir is a workaround until i find a way to eliminate it.
Anyway, the paths with a leading / looks strange. Are you calling mocha-webpack from your root directory? Normally your project path should appear in the file paths.

Closing this in favour of #25.


add images to tensorboard, add --name to compare data in tensorboard

adding images to tensorboard to have nice viewing.
adding --name to run the same project (--text) with different settings (--fp16, --jitter_pose, etc)  .  E.g. run with --name "cuda_ray,fp16,seed=100"  and the next run with --name "cuda_ray,seed=400"  . In tensorboard you can nicely compare then the runs.
Run inside the project dir on cmdline:   tensorboard --logdir .

Thanks for your efforts! However, this is a fairly large change to the current logging design, and there are several issues:

if tensorbardX: is always true, and it should be if self.use_tensorboardX: for consistency.
Currently we already write all validation images directly to the disk, so writing it again to tensorboard is somewhat duplicated. It's better to disable logging to disk if we use_tensorboardX, although personally I prefer logging to disk and may set that to default...
I recommend not to use another opt.name, and always put the name to opt.workspace, like --workspace trial_elephant1. To compare against multiple runs, you could use tensorboard --logdir=name1:/path/to/logs/1,name2:/path/to/logs/2.

Again, thanks for your contributions, but currently I cannot merge it directly.

would it be ok, to implement e.g.  --enable-disk-logging  --enable-tensorboard-logging  . Default is disk-logging, and tensorboard-logging is DISABLED default.   If tensorboard-logging is enabled, it logs all tensorboard values ?
So you could enable/disable both like you wish.
the --name could be  --run_name  .
If you use tensorboard --logdir=name1:/path/to/logs/1,name2:/path/to/logs/2   you need to watch into the log-files to see what cmdline you used, and then add it to the tensorboard call everytime.  Also you need to restart everytime tensorboard with new names, when you do the next run.
what do you think?

I really appreciate your work, and it's reasonable if you are doing lots of experiments for comparison. But I still want to keep this codebase simple for now, e.g., users don't need to know the difference between run_name and workspace, and there is only one way to achieve a goal, so we don't get lost in training framework details.
BTW, you could try to run tensorboard directly at the parent directory of all trial_ folders so it automatically find all log files with names, and add the run_name to workspace, like trail_elephant_xxxx.

ok, keeping codebase simple is a very good reason i understand
thx

Thanks for the understanding!


About Dialog - Report issues URL added to branding

So far, both in RHV and oVirt, the -"About" window dialog included a reference to github to report issues. However In RHV the customers supposed to report to access.redhat.com in case of a problem.
Now the report reference depends on what brand do you use.

Fixed  https://bugzilla.redhat.com/show_bug.cgi?id=1724959

I working on in, i figured out what is my mistake and i'll fix it :)

Can you please add a screenshot of how it looks like in RHV now?

then there should be a condition too in case they are not defined. we can't easily add a package dependency

...though, if it doesn't explode the whole page it's probably fine. it's not too important

Is there anything else to do about this issue?

well, to check if it does or does not explode when not defined:)

checks added :)

I think, it will be nice to add default values in case if ISSUES_TRACKER_URL and ISSUES_TRACKER_TEXT are not defined.
@yodem @sjd78 @michalskrivanek WDYT?

I think, it will be nice to add default values in case if ISSUES_TRACKER_URL and ISSUES_TRACKER_TEXT are not defined.
@yodem @sjd78 @michalskrivanek WDYT?

I thought about it, but what would be the default value?

I thought about it, but what would be the default value?

As it was before, ovirt-web-ui github.

As it was before, ovirt-web-ui github.

ok

Thanks for making the changes to the translation key and text.
@yodem - Any particular reason to avoid the style change away from the ternary to just the || for the default trackText and trackUrl constants? The form const a = data.value || 'constant' is quite common for default values when a variable is not set.

Good to know, I'll change it.

ci build please

@yodem - There are lint errors causing the tests (and build) to fail: https://travis-ci.org/oVirt/ovirt-web-ui/builds/607522440#L275

@yodem moving the ON_QA label since QE can't test till build is passed

@leistnerova @isaranova Do you want to verify this fix before merging or do you prefer to test it only after a d/s build is ready?

@leistnerova @isaranova Do you want to verify this fix before merging or do you prefer to test it only after a d/s build is ready?
We will test it on d/s so it can be merged now.


[Auto Benchmarks] CI Integration

Closes #<ISSUE_NUMBER>

This PR:

This PR does not:

Key places to review:

PR https://github.com/EspressoSystems/HotShot/pull/2793 has covered all the changes here.


Discussion: Remove stale validators from snapshot?

Discussion: Remove stale validators from snapshot?
Description
We've been testing out adding and removing validators from the snapshot validator set using the ibft propose --vote auth and ibft propose --vote drop commands. During our testing, we voted in 8 validators and then stopped 3 of them without dropping them -  as a result the chain is still writing blocks however the 3 validator addresses that are no longer reachable are still being calculated as proposers within IBFT acceptState, wasting some unnecessary rounds and effectively reducing the network's throughput.
We think it would be a valuable addition for the SDK to detect when a validator address hasn't proposed a block in a while (compared to the other validator block-proposal times in the snapshot set) and either silently vote them off or create a new snapshot omitting that stale address.
Proposed solution
We'd be happy to create a PR ourselves to introduce this feature if you think it'll be beneficial.

Hello @dankostiuk thank you for the issue.
We will not be adding the Slashing mechanism right now, as there are way more implications to wrap our heads around, most notably the issue of kicking out a validator that shouldn't have been kicked out.
This is definitely something that we are going to work on in the future, but not right now.


update jest

Codecov Report

Merging #45 into master will increase coverage by 5.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #45      +/-   ##
==========================================
+ Coverage   68.72%   73.73%   +5.01%
==========================================
  Files           9        9
  Lines         422      453      +31
  Branches       60       63       +3
==========================================
+ Hits          290      334      +44
+ Misses        132      119      -13

Impacted Files
Coverage Δ

src/checker/resultSerializer.ts
100% <0%> (ø)
:arrow_up:

src/worker/TsCheckerWorker.ts
90.69% <0%> (+0.45%)
:arrow_up:

src/TsCheckerWebpackPlugin.ts
96.9% <0%> (+0.7%)
:arrow_up:

src/worker/TsCheckerRuntime.ts
59.64% <0%> (+3.5%)
:arrow_up:

src/util/FileCache.ts
54.66% <0%> (+5.33%)
:arrow_up:

src/checker/IncrementalChecker.ts
63.77% <0%> (+7.22%)
:arrow_up:

Continue to review full report at Codecov.

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


There is no limit to reconnect with PD

Bug Report

What version of TiKV are you using?

Release Version:   5.0.0-rc.x
Edition:           Community
Git Commit Hash:   2d3c66cc44ea19a4e339ec44cf1fcd1477555b7d
Git Commit Branch: master
UTC Build Time:    2021-02-08 09:58:47
Rust Version:      rustc 1.51.0-nightly (1d0d76f8d 2021-01-24)
Enable Features:   jemalloc mem-profiling portable sse protobuf-codec test-engines-rocksdb
Profile:           dist_release

Steps to reproduce

Large-scale cluster
For some reasons, PD does not have a leader

What did you expect?

TiKV performs the backoff strategy normally and waits for PD to recover.

What did happened?

Each Region heartbeat triggers a reconnection with PD. A large number of regions triggers similar DDoS attacks on PD. PD cannot be recovered.
[INFO] [util.rs:396] ["connecting to PD endpoint"] Thousands of times per second.

Does 4.0 has this issue?

/assign @Harmoney

/severity critical

Does 4.0 has this issue?

yes


tab and pannel is not  same  on mobile  in demo2

http://oliviertassinari.github.io/react-swipeable-views/

in demo2  when switch the pannel   ,the  tab  is not change,
is there any way to resolve ?

I'm closing as a duplicate of #358.


serve static data

I had this in db.json
{
    'login': {
    'username': 'xxx',
    'age': 12
    }
}

I want  /login always return this object to me, it should not be updated by POST request. How can I do this?
Thanks in advance.

Hi @gimm
You need to use the project as a module if you want to block some routes:
var jsonServer = require('json-server')
var server = jsonServer.create()

server.use(jsonServer.defaults)

server.post('login', function (req, res) {
  res.sendStatus(404)
})

server.use(jsonServer.router('db.json'))

server.listen(3000)

But personally, if it's for a fake server that you use locally, I wouldn't worry much about that.


"templates" folder missing on PyPI

Package released on PyPI is missing "templates" folder, resulting in TemplateDoesNotExist exceptions.
This was discovered while trying to reproduce https://github.com/jrief/djangocms-cascade/issues/51.

Thanks for reporting.
Just released version 0.0.2.


Course-related label updates

Make the following updates, for consistency:

Rename "Course Offering Name" in Course Offering to "Course Offering ID"
Rename "Course Offering" in Course Enrollment to "Course Offering ID"
Rename "Enrollment Number" in Program Enrollment to "Program Enrollment ID"

Tracking W-010819

Included in beta release version 1.12 (Beta 1) and higher

Included in production release version 1.12


Fix duplicate vars at top level

To see the problem this patch fixes, look at the first line of lib/cli.js:
var $0, $0, ...

The Program node handler was attempting to deduplicate with nub, but
doing so over a list of JS.Identifiers, not a list of plain strings.
Since most callers of declarationsNeededRecursive are more interested
in the set of names than the identifier nodes, I changed it to do that.

Please rebase.

Rebased and recompiled lib.

Thanks!


Feat: initial provider generator

Description of your changes
Part of #5364
This is initial impl of provider generator. The impl is a bit hacky currently and I will refactor it in the future. So it's helpful to just look into testings instead of impl code.
How it works:

Provider generator extracts providers from map[string]github.com/kubevela/pkg/cue/cuex/runtime.ProviderFn in target go file.
Call cuegen to generate struct decls.
Modify and compose decls, and call cuegen Format.

I have:

[ ] Read and followed KubeVela's contribution process.
[ ] Related Docs updated properly. In a new feature or configuration option, an update to the documentation is necessary.
[ ] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

Special notes for your reviewer

Ready for review.
/cc @FogDong @Somefive


cargo test crashes computer

Is there an existing issue?

[X] I have searched the existing issues

Experiencing problems? Have you tried our Stack Exchange first?

[X] This is not a support question.

Description of bug
Computer crashes when I run cargo test
Steps to reproduce

git clone https://github.com/paritytech/substrate
cd substrate
cargo test

it runs until 1600/1706, and then the computer crashes.
I tried another approach after this:

cargo build
cargo test

it had a similar ending but sooner than 1600 (I think it was like 1200-1500 or something like that).
Before crashing, the computer was lagging severely and eventually froze, and then it just automatically restarted.

$ lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         39 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  4
  On-line CPU(s) list:   0-3
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Core(TM) i3-1005G1 CPU @ 1.20GHz
    CPU family:          6
    Model:               126
    Thread(s) per core:  2
    Core(s) per socket:  2
    Socket(s):           1
    Stepping:            5
    CPU(s) scaling MHz:  43%
    CPU max MHz:         3400,0000
    CPU min MHz:         400,0000
    BogoMIPS:            2380,80
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology
                         nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_l
                         m abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx
                         smap avx512ifma clflushopt intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves split_lock_detect dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req avx512vbmi umip pku
                          ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm md_clear flush_l1d arch_capabilities
Virtualization features:
  Virtualization:        VT-x
Caches (sum of all):
  L1d:                   96 KiB (2 instances)
  L1i:                   64 KiB (2 instances)
  L2:                    1 MiB (2 instances)
  L3:                    4 MiB (1 instance)
NUMA:
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-3
Vulnerabilities:
  Itlb multihit:         KVM: Mitigation: VMX disabled
  L1tf:                  Not affected
  Mds:                   Not affected
  Meltdown:              Not affected
  Mmio stale data:       Mitigation; Clear CPU buffers; SMT vulnerable
  Retbleed:              Mitigation; Enhanced IBRS
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl and seccomp
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; Enhanced IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence
  Srbds:                 Mitigation; Microcode
  Tsx async abort:       Not affected

$ garuda-inxi
System:
  Kernel: 5.15.79-1-lts arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-lts
    root=UUID=4bc99fd1-6a7e-4096-8fca-ccd010a3944b rw rootflags=subvol=@
    quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    loglevel=3
  Desktop: Xfce v: 4.16.1 tk: Gtk v: 3.24.34 info: xfce4-panel wm: xfwm
    v: 4.16.1 vt: 7 dm: LightDM v: 1.32.0 Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Laptop System: Acer product: Aspire A315-56 v: V1.15
    serial: <superuser required>
  Mobo: IL model: Sleepy_IL v: V1.15 serial: <superuser required>
    UEFI: Insyde v: 1.15 date: 07/13/2020
Battery:
  ID-1: BAT1 charge: 40.2 Wh (100.0%) condition: 40.2/47.8 Wh (84.1%)
    volts: 12.3 min: 11.2 model: LGC AP18C8K type: Li-ion serial: N/A
    status: full
CPU:
  Info: model: Intel Core i3-1005G1 bits: 64 type: MT MCP arch: Ice Lake
    gen: core 10 level: v4 note: check built: 2019-21 process: Intel 10nm
    family: 6 model-id: 0x7E (126) stepping: 5 microcode: 0xB6
  Topology: cpus: 1x cores: 2 tpc: 2 threads: 4 smt: enabled cache:
    L1: 160 KiB desc: d-2x48 KiB; i-2x32 KiB L2: 1024 KiB desc: 2x512 KiB
    L3: 4 MiB desc: 1x4 MiB
  Speed (MHz): avg: 1211 high: 1288 min/max: 400/3400 scaling:
    driver: intel_pstate governor: powersave cores: 1: 1288 2: 1201 3: 1200
    4: 1155 bogomips: 9523
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
  Type: retbleed mitigation: Enhanced IBRS
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl and seccomp
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB
    filling, PBRSB-eIBRS: SW sequence
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel Iris Plus Graphics G1 vendor: Acer Incorporated ALI
    driver: i915 v: kernel arch: Gen-11 process: Intel 10nm built: 2019-21
    ports: active: eDP-1 empty: HDMI-A-1 bus-ID: 00:02.0 chip-ID: 8086:8a56
    class-ID: 0300
  Device-2: Quanta HD User Facing type: USB driver: uvcvideo bus-ID: 1-7:4
    chip-ID: 0408:a061 class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.4 compositor: xfwm v: 4.16.1 driver: X:
    loaded: modesetting alternate: fbdev,intel,vesa dri: iris gpu: i915
    display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: eDP-1 model: BOE Display 0x07cb built: 2018 res: 1920x1080
    hz: 60 dpi: 142 gamma: 1.2 size: 344x193mm (13.54x7.6") diag: 394mm (15.5")
    ratio: 16:9 modes: 1920x1080
  API: OpenGL Message: Unable to show GL data. Required tool glxinfo
    missing.

You can try to compile on one thread with -j1 which will take for ever or only compile single crates like cargo test -p pallet-something.

4.5GB available RAM is probably not enough to compile Substrate. You can try to compile on one thread with -j1 which will take for ever or only compile single crates like cargo test -p pallet-something.

That's the hardware I have available and I really wanna be a blockchain developer, so it will have to take the time that it takes. Thanks for the advice on how to successfully run the tests. I made it to the end of cargo test, but now it fails some tests. Here's one example:
running 1 test
test test_struct_named ... FAILED

failures:

---- test_struct_named stdout ----
thread 'test_struct_named' panicked at 'assertion failed: `(left == right)`
  left: `"StructNamed { a: 1, b: 2, c: 3, phantom: PhantomData<(derive_no_bound::ImplNone, derive_no_bound::ImplNone)> }"`,
 right: `"StructNamed { a: 1, b: 2, c: 3, phantom: PhantomData }"`', frame/support/test/tests/derive_no_bound.rs:73:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

failures:
    test_struct_named

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p frame-support-test --test derive_no_bound`

The hardware shouldn't really stop anyone from coding in substrate.
When you make a change to the code, you can skip building the runtime
SKIP_WASM_BUILD=1 cargo build if you didn't make any change to it.
Then, you could publish your PR and let the CI jobs handle the testing for you.
If you are on origin/master and the test is still failing, I think you could try updating
rust rustup update.

I answered this on stackexchange: https://substrate.stackexchange.com/questions/6144/computer-crashing-on-cargo-test/6145#6145


Technical Writer Application by ramlaxman

Application for Google Season of Docs by @ramlaxman
Adherence to Style Guides for: Microsoft, Python Software Foundation Documentation, Chicago.
Strong Experience in Explaining Cloud Computing Technology: Distributed Systems , Web Services.
Excellent writing skills in Markdown, HTML.

@googlebot I signed it!


Separate icons for non-stable builds

Replacing icons for non-stable builds with a differently colored version to easily differentiate shortcuts/icons.
Also fixing up a lot of the other icons we were missing for stable builds (such as the installer). Fixes #7016

Note: This being blurry seems to be a general issue with our icons. See #7856

VS Code doesn't though so it appears to be something with our icon specifically. I'm opening a separate issue to track.

And to confirm, all the new icons came from UX.


does this mod work with offline/ cracked players too?

i have a Minecraft premium account but some of my friends doesnt i just want to ask that if this modpack work with my friend's cracked account (Tlauncher) if yes, thank you and sorry for inconvenience, if not then Can you please make it work. simply because whats the point of playing Alone.
I hope you understand
i appreciate your work

you should test also they do not need the modpack to join your world

Seeing as the Vital project is a Modpack, it comes down to how the mods installed behave with an offline account. While this project does not endorse its usage with offline/cracked accounts, I don't see any reason why it wouldn't work.
TLDR try it and see

you should test also they do not need the modpack to join your world

ok ill do it thanks

Seeing as the Vital project is a Modpack, it comes down to how the mods installed behave with an offline account. While this project does not endorse its usage with offline/cracked accounts, I don't see any reason why it wouldn't work.
TLDR try it and see

Ok and, Thank you for taking the time to respond


don't report on xfail, it's useless

This -rx actually did overwrite -rs above?

not, it's cumulative ... see https://docs.pytest.org/en/7.1.x/how-to/output.html#producing-a-detailed-summary-report


Add Configuration Factory Methods release notes entry

Fixes: https://github.com/gradle/gradle/issues/25805

@bot-gradle test BD

I've triggered the following builds for you. Click here to see all build failures.

BuildDistributions build

@bot-gradle test BD

I've triggered the following builds for you. Click here to see all build failures.

BuildDistributions build

Content has been added to the release notes document.


Fix clear-double-boot with virtual application view

The temporary initializer to remove the double-rendered app when fastbooting with --serve-assets was not working when the application view is virtual.

The application view is not virtual by default, are you setting its tagName manually?

It is fairly common to have other content inside the rootElement (just like you saw with the script tags). This would remove that content...

I usually set tagName: '' to avoid the extra wrapper element.  I see your point that there could be other static content that would get removed.  I can live with the default non-virtual view for now.

@gdub22 - Another option for your particular use case, would be to make an initializer in your app that does this (that is what we did before adding it here).
Something like:
// app/initializers/clear-double-boot.js
import config from '../config/environment';

export default {
  name: 'clear-double-boot',
  initializer: function() {
    Ember.$(config.APP.rootElement).children().not('script').remove();
  }
}


Domain info wishlist: link to subdomains, parent domain, related domains

It would be nice if Metasmoke could automatically show links between parents and subdomains.
In addition, it would be very nice if there was a way to link arbitrary domains manually.
For example, bywb-bearing.com and bywb-bearing.net are obviously related, but there is no easy way currently to document this relationship.

Done with 7241023a335651889059c87975e59eee4fe81cde and 89ee7c4395e8c5a85ac54755a86a032f17aef1d1

Thanks! Unfortunately, there seems to be something wrong with the implementation. I tried to add the link between the two samples mentioned above and it seemed to freeze: the "Link" pseudo-dialog stays up forever. Opening the record for the domain where I added the link https://metasmoke.erwaysoftware.com/domains/17774 gets me a Ruby backtrace.
The target https://metasmoke.erwaysoftware.com/domains/17775 is fine, does that mean reciprocal links are not visible, or that it didn't get that far before it failed?

Bah. I spent ages trying to nail that bug but apparently I still failed. Will take another look.

Reminder to self: itronixsolution.com is related to itronixsolutions.com

https://metasmoke.erwaysoftware.com/domains/25413 is broken, I tried to link to www.(the domain) but apparently failed.
The link dialog is rather odd, it seems to add the same link three times when it doesn't cause a traceback. I'm perhaps doing something wrong but then maybe it should be more obvious how to use it correctly.

Again, I tried to link decorholding.com to decorflooring.net and ended up wrecking the former.
These records need to be repaired.
Repro steps, vaguely:

Click "Link a domain" and get a JS pseudo-dialog titled "New Domain Link".
In the first text field "Linked Domain" type in the target. See it match and be selected, but then the text box goes empty again.
In the second dropdown, select "ownership" but again, see it disappear after showing briefly.
Expect "Link" to produce a link and close the dialog, but it does neither.

Variation: Click it a few times.

Dismiss the dialog with the X in the upper right corner.
Expect the linked domain to be visible, but it isn't.
Reload the page, and sometimes get a traceback, and sometimes the link added n times.

Okay, working on this again.
The thing causing tracebacks is not having things selected - as you said, the selection boxes go empty again, which means MS is trying to link a record to nil, which... doesn't go well. Make sure the selection boxes have something in them before you submit. Admittedly I do also need to make sure records can't be linked to nil, but that's currently lower priority than figuring out Turbolinks.

@Undo1 some data edits required:
DomainLink.where(left_id: 25499).update(right_id: 25500)
DomainLink.where(left_id: 25413).destroy_all
DomainLink.where(left_id: 17774).update(right_id: 17775)

Devs: see attempted-webpackify@0c5c853 for a progress report. Fixing this requires us to fix the webpack, turbolinks, and jQuery fustercluck, which is almost certainly Charcoal's longest-standing and most difficult bug... [tag:fun]

I’ve put this on my Trello board. I’ll see if switching away from webpack is at all helpful. We don’t really need webpack’s complexity, just something like Rollup that gives us one bundled JS file.

✅ Done

I managed to break another one, on the vague theory that this might have been fixed.
aluminum-factory.com is a broken sibling of aluminum-producer.com

@Undo1 ^

Think I resolved this by nuking the three DomainLink objects created at the same time. Let me know if it's still broken somehow.

I believe the problems with the manual part of this request are now resolved. The initial request was for both automatic (for subdomains) and manual linking of domains. Do we consider this complete with the manual linking available and bugs fixed (I believe), or should this remain open for the "automatic" part of the request.
Note: for the automatic part, we should probably also link/fix domains where they are effectively the identical domain, such as "LinkTek.com" and "linktek.com". This might be appropriate as a single-run patch process which just does the lowercasing which, I assume, was added later.

I'm fine with deferring or entirely rejecting the request for automatic linking; it would be nice, of course, but our priorities should probably be elsewhere, and if I really wanted to, I could put that logic in Halflife or a user script.
Similarly, cleaning up domains which only differ by capitalization could be done manually, though then I suppose we will want a separate ticket to be created for that.


test disable fuzzy spill variables for now

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 49.26 seconds
stream load tsv:          449 seconds loaded<PHONE_NUMBER>9 Bytes, about 158 MB/s
stream load json:         21 seconds loaded<PHONE_NUMBER> Bytes, about 107 MB/s
stream load orc:          57 seconds loaded<PHONE_NUMBER> Bytes, about 18 MB/s
stream load parquet:          28 seconds loaded 861443392 Bytes, about 29 MB/s
insert into select:          25.3 seconds inserted 10000000 Rows, about 395K ops/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230710085415_clickbench_pr_175814.html

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 50.71 seconds
stream load tsv:          507 seconds loaded<PHONE_NUMBER>9 Bytes, about 140 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          28.6 seconds inserted 10000000 Rows, about 349K ops/s
storage size:<PHONE_NUMBER>2 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230710170238_clickbench_pr_175816.html


Memory leak(?) during service invocation

Case description:

Setting a large number of parameters using SetParametersService.
Received responses are stored in buffer in RclClientBase but it seems that this buffer is not disposed when disposing of service client.

Example graph with memory usage of application using rclnet with 1.3.2 version during invocation of such service:

Maybe I am doing something wrong. Please let me know if more information is needed.

Could you please provide a minimum repro project? It's hard to tell what's going on from your description and the screenshot.

It seems the problem was on my side.
Except from invoking this service I received a lot of messages on /tf_static topic (data about position of a point was published there - each point that was updated by setting it's parameters).
The subscription was created using CreateNativeSubscription and i didn't dispose each message received from ReadAllAsync method - it was looking as so the responses from the service calls were not disposed for this case only - because it was happening almost at the same time.
Sorry for wrongly creating issue for this library.


Support inlay hints

fixes https://github.com/microsoft/PTVS/issues/7888
Added these 2 options with tooltips that allow users to enable inlay hints in PTVS.

Tooltips:

With inlay hints:

Without inlay hints:

This UI and behavior is now consistent with other languages that support inlay hints in VS such as typescript.

/AzurePipelines run

These look great!
Just a couple of random questions:

We're supposed to go through the VS UI review board whenever we add strings like these, even to options. I don't think it's a big deal, but we should be doing it in the future.  Notice that the 'E' is underlined for both of them. That makes keyboard navigation not work correctly. Each option in a specific group should have a unique hotkey. For example, look at these two even though they both start with 'S':

Can you please verify that the narrator works on the two options you added so we don't get hit with accessibility bugs for these?

Thank you!

@AdamYoblick Didn't even know the hotkeys exist. How are they supposed to work? Is it like when I hit the letter on the keyboard it jumps to that option?
Sure I can have the UI board review the changes, do you know how to reach out to them?

@AdamYoblick Didn't even know the hotkeys exist. How are they supposed to work? Is it like when I hit the letter on the keyboard it jumps to that option?

https://learn.microsoft.com/en-us/dotnet/desktop/winforms/controls/how-to-create-access-keys-for-windows-forms-controls?view=netframeworkdesktop-4.8

Sure I can have the UI board review the changes, do you know how to reach out to them?

From our onenote: https://microsoft.sharepoint.com/teams/python/_layouts/15/Doc.aspx?sourcedoc={30d33826-9f98-4d3e-890e-b7d198bbbcbe}&action=edit&wd=target(Python VS%2FDev Docs.one|d7206ce2-cf40-437b-8ce9-1e55f4bc2f44%2FSo you need to…|35ffdcfc-33e1-4674-8118-1a9555f7ad91%2F)&wdorigin=703
Scroll down to Make a change to Visual Studio UI (Tools -> Options, etc…)

Unique hotkeys
So I've changed all the hotkeys to be unique and tested that the Alt + letter does act like user "clicks" the corresponding textbox/checkbox.

Accessibility support
I have also tested the tooltips with both NVDA and JAWS, both narrators are reading the tooltips properly. Note that the other tooltips on this page currently lack support for screen readers, but I want this PR to focus on inlay hints so will address them separately.

UXBoard Review
Work item created at https://devdiv-design.visualstudio.com/D3 Studio/_workitems/edit/17899

Done addressing feedback from UXBoard review:)


Update docker-build-microsoft-vhd image to format VHD prior to upload

The prior implementation uploaded a blank page blob with a VHD footer. On the first attach to a VM, it would take 30+ minutes (and sometimes even fail) as the disk needs to be formatted. This PR fixes that by formatting the VHD to ext4 prior to uploading it to Azure resulting in a finished deployment of usually < 3 minutes.

Swapped out the prior python implementation with go (create_blank_vhd.go) to match the rest of Pachyderm's codebase
Minor documentation tweaks

LGTM, just going to wait for CI to pass before merging.

Thanks for the quick merge! 👯


feat(Emil Hammarstrand): Updated Keywords In Config Files

Summary
Updated all the keywords in the config files.
Packs that could not be updated due to not finding them in the Excel file was:
Apis/
Redhat/
Oracle/oracle-database
Lamp
Postgreql
Prometheus-node-export-macos

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your<EMAIL_ADDRESS>seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @EmilHammarstrand, we are getting closer but we really only want to see changes to the keywords field.
Ideally we see a nice diff in the PR that only shows adding the keywords field.
Right now, it indicates changes to the description, author and other fields as well. Maybe your script is reading and overwriting those fields again? If you can please change that, so it only adds the keywords field that would make it nice and clean to review. Thanks!

Closing this PR as there is some more work today before the team can review it


Add "Hello world kubeflow pipelines" tutorial

This PR adds a new tutorial that outlines how to create a notebook pipeline and run it on Kubeflow Pipelines. This tutorial complements the "Hello World" tutorial, which described the tasks for local pipeline execution.

I still think that, for visibility purposes, having the actual tutorial on the docs page would make it more visible

Closes #12

I still think that, for visibility purposes, having the actual tutorial on the docs page would make it more visible. I mean, the main md file there, and pointing to everything else here.

I agree. Will deliver that in a different PR since it's another repo. Will add reference to PR.

Ah sorry, I believe I have misinterpreted your earlier comment

I still think that, for visibility purposes, having the actual tutorial on the docs page would make it more visible. I mean, the main md file there, and pointing to everything else here.

You are saying under "Tutorials" (somewhere in the doc tree) we would publish the actual markdown and images and only the tutorial artifacts (notebooks etc) would reside in the examples repository, right? I do agree having an anchor there is something we should do but my concern is about having the actual instructions live only there.
Approach 1: instructions  and artifacts live in examples repository (original proposal in this PR)

Advantages:

Everything the user needs is in a single repository. By cloning the repo all assets are available "locally" -  on the machine where the repo was cloned. The user doesn't need to open the documentation URL to access the instructions.

Disadvantages:

The tutorials don't get much exposure and are therefore hard to find
The look-and-feel ("the rendering") of the tutorials is not similar to the documentation

Approach 2: instructions live in the doc; artifacts live in examples repository

Advantages:

The tutorials get higher visibility because they are part of the documentation.
The look-and-feel of the tutorials is similar to the documentation

Disadvantages:

A user would need to clone two repositories to gain local access to all assets (instructions and artifacts)

Approach 3: a stub (short summary) for each tutorial lives in the documentation; instructions and artifacts live in the examples repository

Advantages:

The tutorials get higher visibility because they are part of the documentation.
Everything the user needs is in a single repository. By cloning the repo all assets are available "locally" -  on the machine where the repo was cloned. The user doesn't need to open the documentation URL to access the instructions.

Disadvantages:

The look-and-feel of the tutorials is not similar to the documentation

Approach 4: The instructions and doc artifacts live in the documentation and the examples repository.

Advantages:

The tutorials get higher visibility because they are part of the documentation.
Everything the user needs is in a single repository. By cloning the repo all assets are available "locally" -  on the machine where the repo was cloned. The user doesn't need to open the documentation URL to access the instructions.

Disadvantages:

Lots of duplication and harder to maintain

We've discussed this in today's community meeting and will  proceed with approach 3. The doc change will be delivered in a PR for https://github.com/elyra-ai/elyra/issues/905


Install NTP

NTP isn't installed by default on Ubuntu 14.04, base image of sp mini. It should be installed to avoid possible clock drifts.

Not a bad idea to make a note of the required outbound port for this to work in the documentation - UDP 123 by default.

Thanks @jbeemster , not a bad idea for sure. Took my note to update docs once the release is out.


Fix errors in documentation files

Description

This pull request includes minor modifications to improve readability and consistency in documentation files (ens.mdx and glossary.mdx).
Changes
bsrc/content/data-feeds/ens.mdx

libraries libraries that  → libraries that

src/content/resources/glossary.mdx

Confrimations  → Confirmations

thanks @sky-coderay !


Error when inspecting conqueror map

🐞 bug report
Describe the bug
When trying to inspect (alt+q) a conqueror map, I get the following JS error:

(reconstructed from 2 screenshots; white map)
When inspecting a rare map, it looks like this:

Other maps (even ones with an enchantment) work just fine.
To Reproduce
Steps to reproduce the behavior:

Open the menu to do a conqueror map at zana.
Alt + Q on the map.

Expected behavior
Inspect menu works normally and no error is shown.
Screenshots
Example map

Item Class: Maps
Rarity: Normal
Desert Map
--------
Map Tier: 15
Atlas Region: Haewark Hamlet
--------
Item Level: 82
--------
Map contains Drox's Citadel (enchant)
Item Quantity increases amount of Rewards Drox drops by 20% of its value (enchant)
--------
Travel to this Map by using it in a personal Map Device. Maps can only be used once.
--------
Warlord Item

🌍  Your Environment

Version: 1.2.4 (2021-08-29)
PoE: Steam 3.15.3 English

Same issue here when I look up a map.

Tested it and couldn't reproduce it. Not sure if it is somehow dependent on the map or if it has been fixed. I'll close the issue for now.


Crash in feature placement stage with Better End

Mod Name
BetterEnd
Mod Homepage
https://modrinth.com/mod/betterend
Minecraft version
1.20.1 (LTS)
Describe the bug
Server crashes during terrain generation
Steps to reproduce

Travel around the outer end islands until game crashes. If the bug is biome dependent, some exploring might be required to trigger the bug.

Logs
https://pastebin.com/zCF3Ca7i
Additional context
First error message in crash log

java.lang.ClassCastException: class org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome cannot be cast to class org.betterx.betterend.world.biome.cave.EndCaveBiome (org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome is in module<EMAIL_ADDRESS>of loader 'TRANSFORMER' @510e6b93; org.betterx.betterend.world.biome.cave.EndCaveBiome is in module<EMAIL_ADDRESS>of loader 'TRANSFORMER' @510e6b93)

As our LTS support target, 1.20.1 now only receives critical fixes related to Connector bugs. Please upgrade to the latest version for mod compatibility support.


[Bug]: The fourth round of SQL parser verification bug

The fourth round of SQL parser verification bug

select
  ip_id,
  ip_role_id,
  tnt_inst_id,
  partner_id,
  vostro_no,
  rel_vostro_no,
  rel_order_no,
  payer_bank_org_code,
  payer_bank_branch_org_code,
  payer_card_no,
  payer_name,
  payee_bank_org_code,
  payee_card_no,
  payee_name,
  amount,
  currency,
  trans_time,
  vostro_process_state,
  matched_amt,
  matched_amt_currency,
  refunded_amt,
  refunded_amt_currency,
  refunding_amt,
  refunding_amt_currency,
  business_source_stm,
  ext_content,
  gmt_create,
  gmt_modified
from
  se_td_vostro_record_020
where
  tnt_inst_id = 'mybkc1cn'
  and ip_id = '226620000718704203'
  and ip_role_id = '226610000063956599209'
  and substr(
    regexp_substr(
      ext_content, '"main_card_id_key":"[0-9]*'
    ),
    21
  ) = '8888888339987438'
  and trans_time >= '2020-01-01 00:00:00'
  and trans_time <= '2020-01-01 00:00:00'
order by
  gmt_create desc
limit
  0,
  5

select
  min(id) min,
  max(id) max,
  count(id) count
from
  beyond_black_list
where
  (
    status = 'a'
    or status = '1'
  )
  and modify_time >= '2019-07-08 23:24:57'
  and modify_time <= '2019-07-08 23:25:21'
  and (
    validity_time is null
    or validity_time >= '2019-07-08 23:25:21'
  )

select
  count(0)
from
  (
    select
      s.name as sprintname,
      s.id as sprintid,
      p.id as projectid,
      p.name as projectname,
      s.status as sprintstatus,
      (
        select
          gmt_modified
        from
          monalisa_report_task
        where
          sprint_id = s.id
        order by
          gmt_modified desc
        limit
          1
      ) as gmt_modified,
      (
        select
          nickname
        from
          acl
        where
          acl_id = s.acl_id
          and level = 'owner'
        limit
          1
      ) as nickname
    from
      sprint s
      left join project p on s.project_id = p.id
    where
      s.status != 'deleted'
      and s.env = 'test'
      and s.acl_id in ('1')
      and (
        s.name like '%卡%' || p.name like '%卡%'
      )
    order by
      s.id desc
  ) as biu

select a.table_name,
       a.owner as schema_name,
       a.num_rows,
       b.comments description,
       to_char(c.created, 'yyyy-mm-dd hh24:mi:ss') create_time,
       to_char(c.last_ddl_time, 'yyyy-mm-dd hh24:mi:ss') last_ddl_time
  from dba_tables a
  left join dba_tab_comments b    on a.owner = b.owner
   and a.table_name = b.table_name
       , dba_objects c
 where a.owner = c.owner
   and a.table_name = c.object_name
   and c.subobject_name is null
   and c.object_type = 'table'
   and a.owner = 'omsuser'
 group by a.table_name, a.owner, a.num_rows, b.comments, c.created, c.last_ddl_time

select date(convert_tz(m.gmt_create, @@session.time_zone, '-04:00')) as date,
                            count(m.id) as message_count, count(mf.id) as feedback_count
                            from doraemon_dify_messages m
                            left join doraemon_dify_message_feedbacks mf on mf.message_id=m.message_id
                            where m.app_id = '1'
                         and m.gmt_create >= '2023-08-04 17:48:00' and m.gmt_create < '2023-08-11 17:48:00' group by date order by date

select @@version_comment, @@version, ob_version() limit 1

select  count(1) from (select 1 from ( select 1 from "oms_oracle_mode_test"."m_s_token_info") where rownum <= 1 )

select
    aic.index_name,
    aic.column_position,
    aic.column_name,
    aic.descend,
    decode(ai.partitioned, 'yes', 'true', 'false') as partitioned,
    decode(ai.uniqueness, 'unique', 'true', 'false') as uniqueness,
    decode(ai.index_type,
        'function-based normal',
        'function_normal',
        'function-based normal/rev',
        'function_normal_rev',
        'function-based bitmap',
        'function_bitmap',
        'iot - top',
        'iot',
        'normal/rev',
        'normal_rev',
        ai.index_type
    ) as index_type,
    decode(ac.constraint_type, 'p', 'true', 'false') as primary
from
    dba_ind_columns aic,
    dba_indexes ai
    left join dba_constraints ac on ac.index_name = ai.index_name
    and ac.owner = ai.owner
    and ac.table_name = ai.table_name
where
    aic.index_owner = ai.owner
    and aic.index_name = ai.index_name
    and aic.table_name = ai.table_name
    and ai.table_owner = 'qiluo02'
    and ai.table_name = 'bmsql_history'
    and ai.table_type = 'table'
    and ai.status != 'invalid'
order by
    aic.index_name,
    aic.column_position

select * from irgl_wallet_balance where legal_entity = '9912' and currency ='586' and account_date >= '20190501' and account_date <= '20190530' and variance !='0' order by account_date desc,id

select * from tpc_a where rownum <= 20 fetch next 200 rows only

select

		rs_approval.id,
        rs_approval.url,
        rs_approval.out_biz_id,
        rs_approval.type,
        rs_approval.ref_source,
        rs_approval.context,
        rs_approval.status,
        rs_approval.execute_status,
        rs_approval.failed_reason,
        rs_approval.operation_log_indices,
        rs_approval.submitter_id,
        rs_approval.submitter_account,
        rs_approval.submitter_nick_name,
        rs_approval.submitter_real_name,
        rs_approval.require_permission_code,
        rs_approval.require_permission_conditions,
        rs_approval.title,
        rs_approval.brief,
        rs_approval.render_datas,
        rs_approval.gmt_create,
        rs_approval.gmt_modified

        from

		rs_approval

         where  out_biz_id = '12cb9572-b4c2-4a4f-9547-daa9c8e97e63'

        limit 0,<PHONE_NUMBER>

select distinct distinct fuzz_rule_issue.extend_info as anon_1, fuzz_rule_issue.id as fuzz_rule_issue_id
from fuzz_rule_issue
where fuzz_rule_issue.issue_status = '0' or fuzz_rule_issue.issue_status = '2' order by fuzz_rule_issue.extend_info, fuzz_rule_issue.id, fuzz_rule_issue.gmt_modified desc
 limit 0, 10

update market_rate_snapshot51$cf source
set source.v = replace(source.v, '"expiretime"', '"expiretime_deprecated"')
where exists (
		select 1
		from (
			select k, q, min(t) as t
			from market_rate_snapshot51$cf
			where k in ('1')
				and q in (
					'1000000.00',
					'2000000.00',
					'3000000.00',
					'4000000.00',
					'5000000.00',
					'6000000.00',
					'7000000.00',
					'8000000.00',
					'9000000.00',
					'10000000.00',
					'11000000.00',
					'12000000.00',
					'13000000.00',
					'14000000.00',
					'15000000.00',
					'16000000.00',
					'17000000.00',
					'18000000.00',
					'19000000.00',
					'20000000.00'
				)
			group by k, q
		) t
		where source.k = t.k
			and source.q = t.q
			and source.t = t.t
	)

update smt_settle_order_005
set extend_info = insert(nvl(extend_info, '{data_revise: true}'), 2, 0, '"is_manual_handled":"true",'), gmt_modified = current_timestamp(6)
where settle_order_id = '20190428111213810100166005200276654'

delete from  `media_income_detail` partition(p16)  where settlement_type = 'media_period_settle' and debit_kinds = 'tax_deduct' and pay_settle_period = 'med_aprv_d20210315-2' and product_line_code = 'union'

select biz_value from ((select "uk_value", "gmt_create", "gmt_modified", "biz_value", "idx_value", "int_value", '' as "_simsop_nsid" from test_table_sopdelta where uk_value in ('uk_1', 'uk_2') and idx_value = 'idx_1' and int_value = 110 and "_simsop_nsid" = '1111' and "_simsop_deleted_tag" = 0) union all (select "uk_value", "gmt_create", "gmt_modified", "biz_value", "idx_value", "int_value", '' as "_simsop_nsid" from test_table_sopdelta where "_simsop_nsid" = '22032501060000000d85_0' and "uk_value" not in (select o."uk_value" from test_table_sopdelta o inner join test_table_sopdelta d on o.uk_value = d.uk_value where d."_simsop_nsid" = '1111' and o."_simsop_nsid" = '1111' and o.uk_value in ('uk_1', 'uk_2') and o.idx_value = 'idx_1' and o.int_value = 110) and uk_value in ('uk_1', 'uk_2') and idx_value = 'idx_1' and int_value = 110)) t

select max(subtime) from             ftd_cost_base_data where name='pd_consult' and time='20210813'

select
	sotc.finance_exchange_code
from
	sgw_out_trans_code sotc
	where
	sotc.id in
	(
		select
			sat.out_trans_code_id
		from
			sgw_assemble_template sat
		where
		sat.sub_template_1 like '%epcc.101.001.01%' ||
		sat.sub_template_1 like '%epcc.103.001.01%' ||
		sat.sub_template_1 like '%epcc.201.001.01%' ||
		sat.sub_template_1 like '%epcc.211.001.01%' ||
		sat.sub_template_1 like '%epcc.205.001.01%'
	)

update bs_leads_detail set gmt_create = adddate(now(), -2) ,leads_gmt_create = adddate(now(), -2) where cust_name = '1111'

delete policy from policy where code = 'ly_test_dev_77'