[marble] build failure - cpack license resource file could not be found.

Host Environment

OS: Windows 10 21H2
Compiler: CL 19.29.30146, CMake 3.24.0
Shell: Developer PowerShell for VS 2019. PSVersion 5.1.19041.1682

To Reproduce
Steps to reproduce the behavior:
./vcpkg install marble:x64-windows
Failure logs

Console-Log
E\vcpkg ❯ ./vcpkg install marble:x64-windows
Computing installation plan...
The following packages will be built and installed:
    marble[core]:x64-windows -> 22.04.0#1
Detecting compiler hash for triplet x64-windows...
Restored 0 package(s) from C:\Users\username\AppData\Local\vcpkg\archives in 312.5 us. Use --debug to see more details.
Installing 1/1 marble:x64-windows...
Building marble[core]:x64-windows...
-- Using cached KDE-marble-7def3b68fd5de9b7f0734410a9f955bd1082097b.tar.gz.
-- Cleaning sources at E:/vcpkg/buildtrees/marble/src/bd1082097b-b8a992962d.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source E:/vcpkg/downloads/KDE-marble-7def3b68fd5de9b7f0734410a9f955bd1082097b.tar.gz
-- Applying patch qtfix.patch
-- Using source at E:/vcpkg/buildtrees/marble/src/bd1082097b-b8a992962d.clean
-- Found external ninja('1.10.2').
-- Configuring x64-windows
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:96 (message):
    Command failed: "D:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" -v
    Working Directory: E:/vcpkg/buildtrees/marble/x64-windows-rel/vcpkg-parallel-configure
    Error code: 1
    See logs for more information:
      E:\vcpkg\buildtrees\marble\config-x64-windows-CMakeCache.txt.log
      E:\vcpkg\buildtrees\marble\config-x64-windows-CMakeCache.txt.log
      E:\vcpkg\buildtrees\marble\config-x64-windows-out.log

Call Stack (most recent call first):
  installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:238 (vcpkg_execute_required_process)
  ports/marble/portfile.cmake:12 (vcpkg_cmake_configure)
  scripts/ports.cmake:147 (include)

error: building marble:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest port files with `git pull` and `vcpkg update`.
Then check for known issues at:
    https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+marble
You can submit a new issue at:
    https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[marble]+Build+error
Include '[marble] Build error' in your bug report title, the following version information in your bug description, and attach any relevant failure logs from above.
    vcpkg-tool version: 2022-09-01-dfb82802c8cc562ce3b665a904a65b22314de724
    vcpkg-scripts version: 8e3595fad 2022-09-09 (3 days ago)

You can also use the prefilled template from E:\vcpkg\installed\vcpkg\issue_body.md.

config-x64-windows-out.log
config-x64-windows-out.log
[1/2] "D:/Program Files/CMake/bin/cmake.exe" -E chdir "../../x64-windows-dbg" "D:/Program Files/CMake/bin/cmake.exe" "E:/vcpkg/buildtrees/marble/src/bd1082097b-b8a992962d.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=E:/vcpkg/packages/marble_x64-windows/debug" "-DCMAKE_DISABLE_FIND_PACKAGE_I18n=ON" "-DWITH_KF5=OFF" "-DCMAKE_MAKE_PROGRAM=D:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" "-DBUILD_SHARED_LIBS=ON" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=E:/vcpkg/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v142" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=E:/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=E:/vcpkg" "-D_VCPKG_INSTALLED_DIR=E:/vcpkg/installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
FAILED: ../../x64-windows-dbg/CMakeCache.txt
"D:/Program Files/CMake/bin/cmake.exe" -E chdir "../../x64-windows-dbg" "D:/Program Files/CMake/bin/cmake.exe" "E:/vcpkg/buildtrees/marble/src/bd1082097b-b8a992962d.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=E:/vcpkg/packages/marble_x64-windows/debug" "-DCMAKE_DISABLE_FIND_PACKAGE_I18n=ON" "-DWITH_KF5=OFF" "-DCMAKE_MAKE_PROGRAM=D:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" "-DBUILD_SHARED_LIBS=ON" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=E:/vcpkg/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v142" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=E:/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=E:/vcpkg" "-D_VCPKG_INSTALLED_DIR=E:/vcpkg/installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
-- The C compiler identification is MSVC 19.29.30146.0
-- The CXX compiler identification is MSVC 19.29.30146.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: D:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Protobuf: optimized;E:/vcpkg/installed/x64-windows/lib/libprotobuf.lib;debug;E:/vcpkg/installed/x64-windows/debug/lib/libprotobufd.lib (found version "3.21.4")
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed
-- Performing Test COMPILER_HAS_DEPRECATED
-- Performing Test COMPILER_HAS_DEPRECATED - Success
-- Found Perl: D:/Programming/cygwin64/bin/perl.exe (found version "5.32.1")
-- Could NOT find libgps (missing: LIBGPS_INCLUDE_DIR LIBGPS_LIBRARIES)
-- Could NOT find libwlocate (missing: LIBWLOCATE_INCLUDE_DIR LIBWLOCATE_LIBRARIES)
-- Could NOT find libshp (missing: LIBSHP_INCLUDE_DIR LIBSHP_LIBRARIES)
CMake Error at D:/Program Files/CMake/share/cmake-3.24/Modules/CPack.cmake:646 (message):
  CPack license resource file:
  "E:/vcpkg/buildtrees/marble/src/bd1082097b-b8a992962d.clean/LICENSE.txt"
  could not be found.
Call Stack (most recent call first):
  D:/Program Files/CMake/share/cmake-3.24/Modules/CPack.cmake:651 (cpack_check_file_exists)
  DistTarget.cmake:35 (INCLUDE)
  CMakeLists.txt:358 (include)

-- The following features have been enabled:

 * Unit tests, Build unit tests. Toggle with BUILD_MARBLE_TESTS=YES/NO. 'make test' will run all.
 * Qt Designer plugins, Marble widget support in Qt Designer. Toggle with WITH_DESIGNER_PLUGIN=YES/NO
 * Marble Desktop/Mobile applications, Build Marble Desktop/Mobile applications. Toggle with BUILD_MARBLE_APPS=YES/NO.

-- The following OPTIONAL packages have been found:

 * Qt5LinguistTools
 * Protobuf
   Parsing of OSM PBF files.
 * Qt5WebChannel (required version >= 5.14.0)
 * Qt5WebEngineCore (required version >= 5.15.6)
 * Qt5WebEngine (required version >= 5.14.0)
 * Qt5WebEngineWidgets (required version >= 5.14.0)
 * ZLIB, general-purpose lossless data-compression library, <https://www.zlib.net/>
   When found, system zlib is used. When not found, a Marble internal zlib is used.
 * Qt5Designer
   Required to build Qt Designer plugins
 * Qt5UiPlugin
   Required to build Qt Designer plugins
 * Perl, <https://www.perl.org>
   generation of sources in the APRS plugin
 * Qt5SerialPort, Provides access to hardware and virtual serial ports.
   Reading from serial port in APRS plugin
 * Qt5Positioning

-- The following REQUIRED packages have been found:

 * Qt5Core
 * Qt5Xml
 * Qt5Network
 * Qt5Test
 * Qt5Gui (required version >= 5.15.6)
 * Qt5Widgets
 * Qt5Svg
 * Qt5Sql
 * Qt5Concurrent
 * Qt5Qml (required version >= 5.15.6)
 * Qt5QmlModels (required version >= 5.15.6)
 * Qt5Quick
 * Qt5PrintSupport
 * Qt5 (required version >= 5.14.0)

-- The following features have been disabled:

 * Marble tools, Build various Marble tools for e.g. file format conversion. Toggle with BUILD_MARBLE_TOOLS=YES/NO.
 * Marble library C++ examples, Build C++ examples showing how to use the Marble library. Toggle with BUILD_MARBLE_EXAMPLES=YES/NO.

-- The following OPTIONAL packages have not been found:

 * Phonon4Qt5, Qt-based audio library, <https://phonon.kde.org/>
   Support for playback of soundcue elements
   Voice navigation (sound or human speakers)
 * libgps, communicating with the GPS daemon, <https://gpsd.gitlab.io/gpsd/index.html>
   position information via gpsd
 * libwlocate, WLAN-based geolocation, <https://sourceforge.net/p/libwlocate/wiki/Home/>
   Position information based on neighboring WLAN networks
 * libshp, reading and writing of ESRI Shapefiles (.shp), <http://shapelib.maptools.org/>
   reading and displaying .shp files
 * ECM (required version >= 1.7.0)

-- Configuring incomplete, errors occurred!
See also "E:/vcpkg/buildtrees/marble/x64-windows-dbg/CMakeFiles/CMakeOutput.log".
See also "E:/vcpkg/buildtrees/marble/x64-windows-dbg/CMakeFiles/CMakeError.log".
[2/2] "D:/Program Files/CMake/bin/cmake.exe" -E chdir ".." "D:/Program Files/CMake/bin/cmake.exe" "E:/vcpkg/buildtrees/marble/src/bd1082097b-b8a992962d.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=E:/vcpkg/packages/marble_x64-windows" "-DCMAKE_DISABLE_FIND_PACKAGE_I18n=ON" "-DWITH_KF5=OFF" "-DCMAKE_MAKE_PROGRAM=D:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" "-DBUILD_SHARED_LIBS=ON" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=E:/vcpkg/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v142" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=E:/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=E:/vcpkg" "-D_VCPKG_INSTALLED_DIR=E:/vcpkg/installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
FAILED: ../CMakeCache.txt
"D:/Program Files/CMake/bin/cmake.exe" -E chdir ".." "D:/Program Files/CMake/bin/cmake.exe" "E:/vcpkg/buildtrees/marble/src/bd1082097b-b8a992962d.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=E:/vcpkg/packages/marble_x64-windows" "-DCMAKE_DISABLE_FIND_PACKAGE_I18n=ON" "-DWITH_KF5=OFF" "-DCMAKE_MAKE_PROGRAM=D:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" "-DBUILD_SHARED_LIBS=ON" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=E:/vcpkg/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v142" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=E:/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=E:/vcpkg" "-D_VCPKG_INSTALLED_DIR=E:/vcpkg/installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
-- The C compiler identification is MSVC 19.29.30146.0
-- The CXX compiler identification is MSVC 19.29.30146.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: D:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Protobuf: E:/vcpkg/installed/x64-windows/lib/libprotobuf.lib (found version "3.21.4")
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed
-- Performing Test COMPILER_HAS_DEPRECATED
-- Performing Test COMPILER_HAS_DEPRECATED - Success
-- Found Perl: D:/Programming/cygwin64/bin/perl.exe (found version "5.32.1")
-- Could NOT find libgps (missing: LIBGPS_INCLUDE_DIR LIBGPS_LIBRARIES)
-- Could NOT find libwlocate (missing: LIBWLOCATE_INCLUDE_DIR LIBWLOCATE_LIBRARIES)
-- Could NOT find libshp (missing: LIBSHP_INCLUDE_DIR LIBSHP_LIBRARIES)
CMake Error at D:/Program Files/CMake/share/cmake-3.24/Modules/CPack.cmake:646 (message):
  CPack license resource file:
  "E:/vcpkg/buildtrees/marble/src/bd1082097b-b8a992962d.clean/LICENSE.txt"
  could not be found.
Call Stack (most recent call first):
  D:/Program Files/CMake/share/cmake-3.24/Modules/CPack.cmake:651 (cpack_check_file_exists)
  DistTarget.cmake:35 (INCLUDE)
  CMakeLists.txt:358 (include)

-- The following features have been enabled:

 * Unit tests, Build unit tests. Toggle with BUILD_MARBLE_TESTS=YES/NO. 'make test' will run all.
 * Qt Designer plugins, Marble widget support in Qt Designer. Toggle with WITH_DESIGNER_PLUGIN=YES/NO
 * Marble Desktop/Mobile applications, Build Marble Desktop/Mobile applications. Toggle with BUILD_MARBLE_APPS=YES/NO.

-- The following OPTIONAL packages have been found:

 * Qt5LinguistTools
 * Protobuf
   Parsing of OSM PBF files.
 * Qt5WebChannel (required version >= 5.14.0)
 * Qt5WebEngineCore (required version >= 5.15.6)
 * Qt5WebEngine (required version >= 5.14.0)
 * Qt5WebEngineWidgets (required version >= 5.14.0)
 * ZLIB, general-purpose lossless data-compression library, <https://www.zlib.net/>
   When found, system zlib is used. When not found, a Marble internal zlib is used.
 * Qt5Designer
   Required to build Qt Designer plugins
 * Qt5UiPlugin
   Required to build Qt Designer plugins
 * Perl, <https://www.perl.org>
   generation of sources in the APRS plugin
 * Qt5SerialPort, Provides access to hardware and virtual serial ports.
   Reading from serial port in APRS plugin
 * Qt5Positioning

-- The following REQUIRED packages have been found:

 * Qt5Core
 * Qt5Xml
 * Qt5Network
 * Qt5Test
 * Qt5Gui (required version >= 5.15.6)
 * Qt5Widgets
 * Qt5Svg
 * Qt5Sql
 * Qt5Concurrent
 * Qt5Qml (required version >= 5.15.6)
 * Qt5QmlModels (required version >= 5.15.6)
 * Qt5Quick
 * Qt5PrintSupport
 * Qt5 (required version >= 5.14.0)

-- The following features have been disabled:

 * Marble tools, Build various Marble tools for e.g. file format conversion. Toggle with BUILD_MARBLE_TOOLS=YES/NO.
 * Marble library C++ examples, Build C++ examples showing how to use the Marble library. Toggle with BUILD_MARBLE_EXAMPLES=YES/NO.

-- The following OPTIONAL packages have not been found:

 * Phonon4Qt5, Qt-based audio library, <https://phonon.kde.org/>
   Support for playback of soundcue elements
   Voice navigation (sound or human speakers)
 * libgps, communicating with the GPS daemon, <https://gpsd.gitlab.io/gpsd/index.html>
   position information via gpsd
 * libwlocate, WLAN-based geolocation, <https://sourceforge.net/p/libwlocate/wiki/Home/>
   Position information based on neighboring WLAN networks
 * libshp, reading and writing of ESRI Shapefiles (.shp), <http://shapelib.maptools.org/>
   reading and displaying .shp files
 * ECM (required version >= 1.7.0)

-- Configuring incomplete, errors occurred!
See also "E:/vcpkg/buildtrees/marble/x64-windows-rel/CMakeFiles/CMakeOutput.log".
See also "E:/vcpkg/buildtrees/marble/x64-windows-rel/CMakeFiles/CMakeError.log".
ninja: build stopped: subcommand failed.

Additional context
This section from the config-x64-windows-out.log seems to be the failure reason:
CMake Error at D:/Program Files/CMake/share/cmake-3.24/Modules/CPack.cmake:646 (message):
  CPack license resource file:
  "E:/vcpkg/buildtrees/marble/src/bd1082097b-b8a992962d.clean/LICENSE.txt"
  could not be found.
Call Stack (most recent call first):
  D:/Program Files/CMake/share/cmake-3.24/Modules/CPack.cmake:651 (cpack_check_file_exists)
  DistTarget.cmake:35 (INCLUDE)
  CMakeLists.txt:358 (include)

If I look into the directory the tar.gz is extracted to (E:\vcpkg\buildtrees\marble\src\bd1082097b-b8a992962d.clean) I can see that the symlink LICENSE.txt which should point to a file in the LICENSES directory is missing.

If I inspect the tar.gz itself (E:\vcpkg\downloads\KDE-marble-7def3b68fd5de9b7f0734410a9f955bd1082097b.tar.gz) with 7-Zip, I can see that the symlink is there.

So I presume it gets lost somewhere during extraction.

I can't reproduce this issue in my side.
As a workaround, please use ./vcpkg install marble:x64-windows --editable and download this file, then save the LICENSE.txt into the buildtrees\marble\src\bd1082097b-b8a992962d folder.
I suspect it may be related to the permissions when decompressing the file, symlink file is special. @vicroms Do you know anything about this?

Thank you for the workaround.
That worked and is enough for me for now.
I've tried giving the Groups "Users/Benutzer" and "Authenticated Users/Authentifizierte Benutzer" full access (Vollzugriff) to the "buildtrees/marble" directory.
That at least is not enough.


Update folder/model structure

Looking at the current structure, we could move a few models/folders around:

create a structure folder under staging for those models (same name as the folder under marts)
change stg_all_graph_resources to int_all_graph_resources and move it under marts/.../int
move models from staging/graph/intermediate to marts/dag/intermediate (or similar)

Doing so, we also need to update dbt_project.yml for the models that have different materializations.
Originally posted by @b-per in https://github.com/dbt-labs/dbt-project-evaluator/pull/100#discussion_r870280551

Yes 👍


Error Installing

When i try to install the package i get this error:
> go get -u github.com/mgutz/logxi/v1
# github.com/mgutz/logxi/v1
../../mgutz/logxi/v1/callstack.go:11: import /home/deploy/golang/pkg/linux_amd64/github.com/mgutz/ansi.a: not a package file

Additional Info:
OS: Debian 7.1
> go version
go version go1.4.2 linux/amd64

> go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/deploy/golang"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"

I'm not certain but that looks like an object binary conflict usually due to a different Go version building it. Try deleting the ansi object file and do go get again
rm /home/deploy/golang/pkg/linux_amd64/github.com/mgutz/ansi.a


fix: CharSelected packet does not set the User property

Encountered this when testing the move example.
    const x = 50 + Math.floor(Math.random() * 50) + login_1.default.Me.X;
                                                                       ^

TypeError: Cannot read properties of undefined (reading 'X')
    at F:\workspace\l2js-client\examples\dist\move.js:31:72
    at GameClient.fire (F:\workspace\l2js-client\dist\mmocore\EventEmitter.js:61:13)
    at F:\workspace\l2js-client\dist\commands\CommandEnter.js:76:41
    at GameClient.fire (F:\workspace\l2js-client\dist\mmocore\EventEmitter.js:61:13)
    at Timeout._onTimeout (F:\workspace\l2js-client\dist\mmocore\MMOClient.js:89:34)
    at listOnTimeout (node:internal/timers:557:17)
    at processTimers (node:internal/timers:500:7)

🎉


MAD: fix up the monster tags

Fixing up the tags on monsters so it's not just embedded in the type field.

Thanks!


Milestone 2 Tasks

Tasks:

Heroku Deployment (Chris)

Github folder structure

Interactive Dash app - (ALL)

Implement 4 plots (1 each) and widgets
Layout (Michelle)

Reflection (Jenn)

What has/hasn't been implemented (500 words)

Improve README (Wenxin)

Add info for those interested in using/developing dashboard

Weekly Roles:
Proofreaders: Michelle/Chris
Scribe: Jenn
Submission: Chris

Ideas for Interactivity and Layout:

Tabs to separate plots that work with different widgets (artist vs. genre)
Clicking on Artists to filter data on other plots

Optional To-Dos:

Add GIF to README for Dashboard Usage (Wenxin)


Cannot run examples/add

Issue:
The basic add numbers example cannot be launched.
Reproduce:
pip install sematic

start the server
sematic start

Then run the examples/add example and witnessed the below output:
~ sematic run examples/add
Running example examples/add

usage: Sematic add example [-h] [--cloud] [--detach] [--rerun-from RERUN_FROM]
Sematic add example: error: unrecognized arguments: run examples/add

I initially noticed this issue during the development of the project by using
bazel run //sematic/cli:main -- run examples/add

Today saw that it fails for the public wheel package as well.


Docs

Update documentation

Changelog
Links to source code
Fix links to scikit-learn User Guide for NCA, NC, KernelDensity
Minor doc issues

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@0e1d230). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff             @@
##             develop      #44   +/-   ##
==========================================
  Coverage           ?   98.84%
==========================================
  Files              ?       54
  Lines              ?     4423
  Branches           ?      485
==========================================
  Hits               ?     4372
  Misses             ?       27
  Partials           ?       24

Impacted Files
Coverage Δ

skhubness/neighbors/classification.py
100% <ø> (ø)

skhubness/neighbors/graph.py
96.15% <ø> (ø)

skhubness/neighbors/regression.py
100% <ø> (ø)

skhubness/neighbors/random_projection_trees.py
98.88% <ø> (ø)

skhubness/neighbors/lof.py
100% <ø> (ø)

skhubness/neighbors/unsupervised.py
100% <ø> (ø)

skhubness/neighbors/nearest_centroid.py
100% <100%> (ø)

skhubness/neighbors/kde.py
100% <100%> (ø)

skhubness/neighbors/nca.py
100% <100%> (ø)

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 0e1d230...cf9a1a6. Read the comment docs.


Makefile should respect PREFIX

This already exists on the (abandoned?) master branch, but not in the branch that is actually getting maintenance releases. It would be beneficial for packaging purposes to make this available for practical use.
While I am at it, I think it would also be nice to have the install_extra logic. (If the install target needs to continue to install everything for compatibility purposes, it could be split into e.g. make install_core install_extra?)

feel free to send PRs


Ability to disable GoToDefinition on Ctrl+LeftMouseClick

VSCode Version: 1.1.1
OS Version: Windows 10 Pro

In Visual Studio (full version), I tend to turn off the Ctrl+LeftMouseClick go to definition feature. I personally prefer to have Ctrl+LeftMouseClick select the entire word under my mouse cursor.
From what I can see, mouse events are not configurable at the moment, and they are also not possible to override with extensions (to the best of my knowledge). It would be really nice to have a mouse mapping configuration file. Sublime Text has this (although it is sort of a hidden feature that is not exposed through the UI). Just as an example, my sublime text mousemap file looks like this:
[
    {
        "button": "button1", "count": 1, "modifiers": ["ctrl"],
        "press_command": "drag_select",
        "press_args": {"by": "words"}
    }
]

Duplicate of #3130, copied your comment over

For anyone looking how to achieve what I wanted to do in my original post, you are able to do it with the following keyboard binding in VS Code:
[
    { "key": "ctrl+[mouse button]",		"command": "cursorWordLeft",
                                           "when": "editorTextFocus" },
]


proposal: cmd/go: add .ʕ◔ϖ◔ʔ as an alternate spelling of .go in file names

The new (apparently closed-source) programming language Mojo uses files named .mojo, but it allows .🔥 as an alternate spelling of .mojo, as in hello.🔥.
Issue #45549 tracks handling of unicode in import paths, module paths, and file names. We have been proceeding cautiously due to the many subtle issues involved in cross-platform support, case-insensitive file systems, and so on: modules must work equally well on all supported systems.
Clearly Go is being left behind in the Unicode race. We must not let this stand. I propose that we throw caution to the wind and standardize on .ʕ◔ϖ◔ʔ  as an alternate spelling of .go, as in hello.ʕ◔ϖ◔ʔ.
The change would be primarily in go/build: .ʕ◔ϖ◔ʔ files would be added to the GoFiles lists. There are probably a few places elsewhere in the toolchain that know the extension .go, such as go tool compile x.go writing out x.o, or VS Code registering .go as the file suffix it supports. These will no doubt be trivial to find.
In #57001, there was some concern about the semantics of Go build tags changing meaning in a subtle way. We could address that by only applying the new semantics in .ʕ◔ϖ◔ʔ files. Older toolchains already have code to ignore those.
There were similar concerns in the discussion #56010 about changing the semantics of for loops. The new .ʕ◔ϖ◔ʔ provides an answer: .go files get the old for loop semantics, while .ʕ◔ϖ◔ʔ get the new semantics.
For long-term migration, go fix can rename .go files to .ʕ◔ϖ◔ʔ
There are a few weeks left before the Go 1.21 freeze. That should be plenty of time for a careful, considered discussion of this proposal and then a complete implementation with no subtle problems. Let's go ʕ◔ϖ◔ʔ!

(In all seriousness congrats to the Mojo team on their announcement. The rest of the language looks interesting, and I hope they join the open-source language club soon.)

And, if the proposal for almost unthinkable reasons does not gain public approval, I propose a Go toolchain fork, naturally just called ʕ◔ϖ◔ʔ.

Is there a proposal to add a new gopher emoji in the standard unicode character set ?
I can't find the proper emoji to react to this proposal :goat:

In https://github.com/golang/go/issues/57001, there was some concern about the semantics of Go build tags changing meaning in a subtle way. We could address that by only applying the new semantics in .ʕ◔ϖ◔ʔ files. Older toolchains already have code to ignore those.

IMHO, for this purpose, using numbers like .go2, .go3, ... would make more sense. What if we want yet another new semantics after .ʕ◔ϖ◔ʔ becomes the default?

AFAIK go is a language which does not believe in copying features from other languages. Just saying! 😇

Would this really work correctly on Windows?

Following the aesthetics of Mojo and what the emoji set has to offer, I suggest supporting either of these file extensions instead:

hello.🦫
hello.🦦

If this is only for fun, great. Please don't let it carry any semantical meaning. That would cause more confusion than what could be useful. My $.02.

Is it semantically correct for the eyes to be looking to the right, or should we considering any pupillary configuration as acceptable?

In https://github.com/golang/go/issues/57001, there was some concern about the semantics of Go build tags changing meaning in a subtle way. We could address that by only applying the new semantics in .ʕ◔ϖ◔ʔ files. Older toolchains already have code to ignore those.

There were similar concerns in the discussion https://github.com/golang/go/discussions/56010 about changing the semantics of for loops. The new .ʕ◔ϖ◔ʔ provides an answer: .go files get the old for loop semantics, while .ʕ◔ϖ◔ʔ get the new semantics.

For long-term migration, go fix can rename .go files to .ʕ◔ϖ◔ʔ

IMHO, for this purpose, using numbers like .go2, .go3, ... would make more sense. What if we want yet another new semantics after .ʕ◔ϖ◔ʔ becomes the default?

We use the gold silver bronze emoji for that. Or the regional indicator 1/2/etc.
ʕ◔ϖ◔ʔ🥇``ʕ◔ϖ◔ʔ1⃣

Out of all the ideas that should never happen, this one should never happen the most. I'm embarrassed on behalf of the community that this type of but-us-too stuff got posted. I'd expect this from other communities, but not us.

Uhhhh it's May 4th, little late for April fools jokes, no?

Uhhhh it's May 4th, little late for April fools jokes, no?

I also second this extension to the proposal by  u/GrayFox89:

We need support for build flags too:

main_linux.go -> main_🐧.ʕ◔ϖ◔ʔ
main_windows.go -> main_🏠.ʕ◔ϖ◔ʔ
main_darwin.go -> main_🍏.ʕ◔ϖ◔ʔ

Easter eggs are always great 🐣
Emojis are amazing even more 🥳

and hello_test.go could alternatively be named hello.(╯°□°)╯︵ ┻━┻

and hello_test.go could alternatively be named hello.(╯°□°)╯︵ ┻━┻

Does this only apply to table-driven tests, or is it acceptable for a file named like this to contain any style of test?

I'm calling the cops.

We've been maintaining a downstream fork of Go that supports the .¯\_(ツ)_/¯ extension. This fits our wing-and-a-prayer ethos that is averse to any kind of code testing coverage. If the code works, well, then that's just wonderful, innit.

This is why I □ Unicode.  :-)

IMHO, for this purpose, using numbers like .go2, .go3, ... would make more sense. What if we want yet another new semantics after .ʕ◔ϖ◔ʔ becomes the default?

I think it's fine for the gopher to become progressively more menacing:

.ʕ◔ϖ◔ʔ
.ʕ◉ϖ◉ʔ
.ʕ👁ϖ👁ʔ

and so on. Makes sense to me.

Yet another great innovation from Go that I want to see backported to Plan 9!
If we can get the Plan 9 flavor C compiler to support a Glenda bunny-like suffix (🐇), I know my personal efficiency will increase.

Why stop at the .go extension?

go.work: ⚒
go.sum: 💶, which support for R13N
go.mod: 🧩

I would recommend trademarking ʕ◔ϖ◔ʔ, and always-on telemetry in the toolchain to discover possible cases infringement.

It should clearly be ʕ◔ϖ◔ʔlang to make web searches work better.

So then would the tagline now be the following?

ʕ◔ϖ◔ʔ - The language formerly known as Go

Signed, a fellow ʕ◔ϖ◔ʔfer

This addition seems really cool, but if it does get added, I think there should be some auto-formatting feature for cobsistency within a given project / to align with a given programmer's preferences. 🤔

I'm primarily a Rust dev, but I strongly support this precedent.

OK, I guess I will be that guy. Please dont use the Go programming language as your personal playground for Easter eggs. As you well know, any change you make is going to impact millions of users, for many years. lets not let history repeat itself:
https://unix.stackexchange.com/questions/405783
you want to make a fun silly change, do what everyone else does and fork the codebase.

OK, I guess I will be that guy. Please dont use the Go programming language as your personal playground for Easter eggs. As you well know, any change you make is going to impact millions of users, for many years. lets not let history repeat itself:
https://unix.stackexchange.com/questions/405783
you want to make a fun silly change, do what everyone else does and fork the codebase.

OK, I guess I will be that guy. Please dont use the Go programming language as your personal playground for Easter eggs. As you well know, any change you make is going to impact millions of users, for many years. lets not let history repeat itself:
https://unix.stackexchange.com/questions/405783
you want to make a fun silly change, do what everyone else does and fork the codebase.

OK, I guess I will be that guy. Please dont use the Go programming language as your personal playground for Easter eggs. As you well know, any change you make is going to impact millions of users, for many years. lets not let history repeat itself:
https://unix.stackexchange.com/questions/405783
you want to make a fun silly change, do what everyone else does and fork the codebase.

OK, I guess I will be that guy. Please dont use the Go programming language as your personal playground for Easter eggs. As you well know, any change you make is going to impact millions of users, for many years. lets not let history repeat itself:
https://unix.stackexchange.com/questions/405783
you want to make a fun silly change, do what everyone else does and fork the codebase.

Go is a very serious language.  This is detrimental to its life cycle.  It needs to invest in the future and to do that it needs to invest in the youth.  Failing to entice the youth into contributing means the language will die when the maintainers are too old to type anymore, affecting billions of users at that point.
Do what's right,
go build aBetterFutureWith.🦫

OK, I guess I will be that guy. Please dont use the Go programming language as your personal playground for Easter eggs. As you well know, any change you make is going to impact millions of users, for many years. lets not let history repeat itself:
https://unix.stackexchange.com/questions/92185/whats-the-story-behind-super-cow-powers
you want to make a fun silly change, do what everyone else does and fork the codebase.

I think if this proposal is accepted, we should probably go the full mile and also publish binaries as ʕ◔ϖ◔ʔ.
ʕ◔ϖ◔ʔ run main.ʕ◔ϖ◔ʔ

elegance.

Having .ʕ◔ϖ◔ʔ is nice and conventional, but it doesn't align well on my editor. This bothers me; it's practically unusable.

I propose that we should prefix the gopher instead:

Russ Cox for President

OK, I guess I will be that guy. Please dont use the Go programming language as your personal playground for Easter eggs. As you well know, any change you make is going to impact millions of users, for many years. lets not let history repeat itself:
https://unix.stackexchange.com/questions/405783
you want to make a fun silly change, do what everyone else does and fork the codebase.

OK, I guess I will be that guy. Please dont use the Go programming language as your personal playground for Easter eggs. As you well know, any change you make is going to impact millions of users, for many years. lets not let history repeat itself:
https://unix.stackexchange.com/questions/405783
you want to make a fun silly change, do what everyone else does and fork the codebase.

OK, I guess I will be that guy. Please dont use the Go programming language as your personal playground for Easter eggs. As you well know, any change you make is going to impact millions of users, for many years. lets not let history repeat itself:
https://unix.stackexchange.com/questions/92185
you want to make a fun silly change, do what everyone else does and fork the codebase.

OK, I guess I will be that guy. Please dont use the Go programming language as your personal playground for Easter eggs. As you well know, any change you make is going to impact millions of users, for many years. lets not let history repeat itself:
https://unix.stackexchange.com/questions/405783
you want to make a fun silly change, do what everyone else does and fork the codebase.

OK, I guess I will be that guy. Please dont use the Go programming language as your personal playground for Easter eggs. As you well know, any change you make is going to impact millions of users, for many years. lets not let history repeat itself:
https://unix.stackexchange.com/questions/405783
you want to make a fun silly change, do what everyone else does and fork the codebase.

@4cq2 Can't let people have their fun, I guess. You must be great at parties. Unless you don't enjoy being the fun-ruiner guy but you are forced by someone, in which case comment the eyes emoji twice 👀👀.
The man easter egg impacted the expected behaviour of the program by printing text to stderr in a mode in which text should have never been printed to stderr (arguably, treating exit code 0 as a failure in case text is printed to stderr is a very dubious choice, but whatever).
For one, this proposal is discussed in the open, and, if actually acted upon, will be a documented behaviour. As such, the only impacted people would be those who don't read about the programming language they use to code and those who expected Go to ignore files ending in .ʕ◔ϖ◔ʔ.

I think this proposal is something like Perl's TMTOWTDI ("There's More Than One Way To Do It").
Is this consistent with "simplicity" (which, I think, is Go's philosophy) ?
Also, there are disadvantages:

For those who search Go files (with UNIX find command etc.), this proposal decreases their productivity
Text editors (GoLand, VSCode etc.) need to be fixed (so that .ʕ◔ϖ◔ʔ is also accepted)

I think this proposal is something like Perl's TMTOWTDI ("There's More Than One Way To Do It").
Is this consistent with "simplicity" (which, I think, is Go's philosophy) ?
Also, there are disadvantages:

For those who search Go files (with UNIX find command etc.), this proposal decreases their productivity
Text editors (GoLand, VSCode etc.) need to be fixed (so that .ʕ◔ϖ◔ʔ is also mapped to Go file)

I'm proposing to standardise benchmark files to lib_┳━┳_test.go or lib_┳━┳_test.ʕ◔ϖ◔ʔ.

How about also supporting ʕ◔ϖ◔ʔ as goroutine keyword?
ʕ◔ϖ◔ʔ run()

The following conjecture
Java hello.☕
Go hello.🐹 Didn't find a more suitable one

How about also supporting ʕ◔ϖ◔ʔ as goroutine keyword?

ʕ◔ϖ◔ʔ run()

Excellent idea! A few more changes like this, and we can launch Obfuscated Go contests! C, Perl, we're coming!

 Therefore, I'd like to propose that for Go 1.21, we include it as an experimental, which is enabled by setting the environment variable GO🧪=ʕ◔ϖ◔ʔ.

This is the most fun I've ever had

Pippi shrimp, let's ʕ◔ϖ◔ʔ

Is this a serious proposal?

Over on Reddit /u/robot_54 suggests .ʕ⚆.⚆ʔ instead of the historical emoji gopher .ʕ◔ϖ◔ʔ. Very nice. Let's use that one instead.

@rsc .ʕ⚆.⚆ʔ actually makes me think of Furby, lol

Retracting. This was fun but not a serious proposal. 😄
My apologies to those who were concerned we would actually introduce this kind of unnecessary ambiguity, complexity, and churn. 💩
Have a great weekend everyone. 🎉
Congrats again to Mojo on their launch. Hope to see you in the open-source world soon. 🔥

IMHO, for this purpose, using numbers like .go2, .go3, ... would make more sense. What if we want yet another new semantics after .ʕ◔ϖ◔ʔ becomes the default?

I think it's fine for the gopher to become progressively more menacing:

.ʕ◔ϖ◔ʔ
.ʕ◉ϖ◉ʔ
.ʕ👁ϖ👁ʔ

and so on. Makes sense to me.

3, is perfect. wow

Not easy to identify

I don't even know how to type this symbol right now.

This seems like a great idea to me Russ!

ʕ👁ϖ👁ʔ ʕ👁ϖ👁ʔ ʕ👁ϖ👁ʔ

ʕ👁ϖ👁ʔ ʕ👁ϖ👁ʔ ʕ👁ϖ👁ʔ

ʕ👁ϖ👁ʔ
To everyone who thought this wasn't a joke: how did you miss "For long-term migration, go fix can rename .go files to .ʕ◔ϖ◔ʔ" 😂😂

ʕ⊙ω⊙ʔ

“gopher” is gonna be real gopher 🤓  hhhhhhh

真会玩😅 再补充两个
swift: .
next.js: .▲

ʕ⊙益ºʔ

We could probably use 🧪_ instead of test_ too. 🧪_unicode_file_paths.ʕ◔ϖ◔ʔ would absolutely NEVER fail.

Yeah, why strong typed languages, exact meaning definition using alphabet, let's go stone age way

I think if this proposal is accepted, we should probably go the full mile and also publish binaries as ʕ◔ϖ◔ʔ.
ʕ◔ϖ◔ʔ run main.ʕ◔ϖ◔ʔ

elegance.

So you suggest we go the full mile and then fell short! Your example should look like:
ʕ◔ϖ◔ʔ 🏃 🦁.ʕ◔ϖ◔ʔ

First a request should be raised to include Gopher as an emoji https://unicode.org/emoji/proposals.html
Then:

First a request should be raised to include Gopher as an emoji https://unicode.org/emoji/proposals.html
Then:

And the second, - start producing keyboards with emojies

I think we should also look into past and adopt .went extension for outdated versions of Go.

We should also build a new filesystem that supports multiline filenames, so we can be even more expressive in file naming.

I have good news regarding Linux and macOS...
package main

import (
	"fmt"
	"os"
	"path/filepath"
)

const filename = `main.
    ´.-::::::-.´
.:-::::::::::::::-:.
´_:::    ::    :::_´
 .:( ^   :: ^   ):.
 ´:::   (..)   :::.
 ´:::::::UU:::::::´
 .::::::::::::::::.
 O::::::::::::::::O
 -::::::::::::::::-
 ´::::::::::::::::´
  .::::::::::::::.
    oO:::::::Oo`

func main() {
	fname := filepath.Join(os.TempDir(), filename)
	fp, err := os.Create(fname)
	if err != nil {
		panic(err)
	}
	fp.Close()

	info, err := os.Stat(fname)
	if err != nil {
		panic(err)
	}
	fmt.Println(info.Name())
}

// main.ʕ◔ϖ◔ʔ
package main

import (
	"fmt"
	"time"
)

func ʕ◔ϖ◔ʔMainFunc() {
	ʕ◔ϖ◔ʔ myGoroutine()
	time.Sleep(2 * time.Second)
	fmt.Println("Main goroutine finished.")
}

func myGoroutine() {
	ʕ◔ϖ◔ʔ fmt.Println("This is a goroutine.")
}


Use standalone Wiremock or Wiremock version 3

Is your feature request related to a problem? Please describe.
There are security alerts related to Jetty v9.4.x (https://github.com/vmware/saas-functional-testing-framework/pull/53).
Also this jetty version has reached it's End of community support and will likely soon reach EOL as well.
As Wiremock v2.x shades some artifacts from jetty 9, upgrading Jetty to a new major leads to compilation issues.
Describe the solution you'd like
Refactor how we provide wiremock support to use the standalone Wiremock executable, which isn't affected by project dependencies.
Describe alternatives you've considered
Bump Wiremock to v3.x, as it uses Jetty v11.x+
Additional context
No response

Issue was resolved by #59


Handling warnings for unknown mimetypes

This pull request is towards fixing the issue #12484

Should this work? @lb- @allcaps

@joelwilliam2005  were you able to run make pdf locally also?
I could not, I get an error as it's not set up in make yet, if I run make latexpdfja I get an error.
The LaTeX files are in _build/latex.
Run 'make' in that directory to run these through (pdf)latex
(use `make latexpdf' here to do that automatically).
Running LaTeX files through platex and dvipdfmx...
make -C _build/latex all-pdf-ja
make[1]: Entering directory '/code/wagtail/docs/_build/latex'
make[1]: *** No rule to make target 'all-pdf-ja'.  Stop.
make[1]: Leaving directory '/code/wagtail/docs/_build/latex'
make: *** [Makefile:131: latexpdfja] Error 2
root@226c0f160608:/code/wagtail/docs#

Might need some further guidance from @allcaps  or @laymonage here, or maybe the actual building of PDFs does work differently on the readthedocs server. It looks like the latexpdf build runs to completion mostly, it does not warn about those mimetime items.
I will be heading offline now though, happy to review again in the morning.


xdpyinfo: Add a test

Also delete some commented-out code
Contributing to homebrew-xorg:

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Does your submission pass
brew audit --strict <formula> (where <formula> is the name of the formula you're submitting)?
[x] Have you built your formula locally prior to submission with brew install <formula>?

Travis failed:
$ brew audit -D --except=revision_and_version_scheme --strict $(cd $(brew --repo linuxbrew/xorg)/Formula; ls *.rb | sed 's|.rb$||') || true
linuxbrew/xorg/libevdev:
  * Dependency 'python' from homebrew/core is an alias; use the canonical name<EMAIL_ADDRESS>linuxbrew/xorg/libxcb:
  * Dependency 'python' from homebrew/core is an alias; use the canonical name<EMAIL_ADDRESS>linuxbrew/xorg/xcb-proto:
  * Dependency 'python' from homebrew/core is an alias; use the canonical name<EMAIL_ADDRESS>
I'll admit that I'm a little bewildered by all the changes to Python that have happened recently - if someone can confirm that we do want<EMAIL_ADDRESS>rather than just regular python I can make the above changes on a separate PR but at the moment I'm not sure what the proper course of action is.

Yeah, we've moved towards versioning each minor release of Python. Users running brew install python will automatically install<EMAIL_ADDRESS>and should automatically upgrade to<EMAIL_ADDRESS>when that releases, but formulae depending on<EMAIL_ADDRESS>will have more time to migrate to e.g<EMAIL_ADDRESS>without holding up user access to the newer version of Python.

if someone can confirm that we do want<EMAIL_ADDRESS>rather than the nonspecific python I can make the above changes on a separate PR but at the moment I'm not sure what the proper course of action is.

This is exactly what we want! If you can spare the time to open the pull request that would be fantastic.

Thanks for explaining, that makes a lot of sense :+1:
Opened up a :snake: PR at #663


blob: SubmitPayForBlob should allow configurable broadcast mode

Or use the sync instead of block.
As per @evan-forbes, block is going to be deprecated soonish, so we should stop using it. Additionally, it causes problems for the Dymension team

Making it sync may also resolve issue Astria is facing: https://github.com/astriaorg/astria/issues/122


docs: add general build docs

closes #8500
alternative to #8500
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[ ] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

If we go with this version, I'd put the new page under Advanced. This is basically just docs for import { building } from '$app/environment', which feels out of place in Core Concepts.

Building your app is a core concept, so it feels weird to me to put it under advanced, especially if thereby adapter appears first in the list.

closing in favour of https://github.com/sveltejs/kit/pull/8531


Can only enter LOG and no other LOG types allowed

What is your Quests version / build number (do not say "latest")?
3.6.1
Describe the problem and how to replicate it. Any console errors to post using Pastebin.com?
When attempting to enter anything other than LOG like LOG:1 it will not accept it and says LOG:1 not a valid block name.  It was suggested that I try using the durability option but when entering multiple LOG types such AS LOG LOG LOG it claims duplicate entries not allowed.  I would suggest supporting item ids such as 17:0 17:1.  This was mentioned before in sept 2018 and the issue was closed but is has never been resolved.  This issue kills any woodcutter quest and from the previous report means any alternate block type cannot be used in quests.
If applicable, can you provide an example quest from quests.yml using Pastebin.com?

Would you post a screenshot of the "duplicate entries" error you got? It would help me diagnose this faster. Thanks!

I have already posted some shots on your discord with what I typed and the error message.  Sorry if it was too many shots but I wanted to cover the different syntaxes that have been suggested previously on discord.

That’s alright, but please at least link to your screenshots from here in case others want to contribute to the issue.
Sent with GitHawk

Ok here are links to all the screenshots.  The first has what I typed and the second has the resultant error and so on.
https://media.discordapp.net/attachments/510222124237979674/542165863693025290/Screenshot_7787.png?width=726&height=409
https://media.discordapp.net/attachments/510222124237979674/542165909947678730/Screenshot_7788.png?width=726&height=409
https://media.discordapp.net/attachments/510222124237979674/542165991506051101/Screenshot_7789.png?width=726&height=409
https://media.discordapp.net/attachments/510222124237979674/542166024750104626/Screenshot_7790.png?width=726&height=409
https://media.discordapp.net/attachments/510222124237979674/542166090961256458/Screenshot_7791.png?width=726&height=409
https://media.discordapp.net/attachments/510222124237979674/542166126533017601/Screenshot_7792.png?width=726&height=409

Thanks. After further investigation, this isn't a bug nor a duplicate of #483, but rather the plugin is intentionally blocking the use of duplicate entries. Since it isn't clear to me why it's blocking it, I'll push a commit which will allow you to have duplicates. However, I can't guarantee that there won't be side-effects, so I'll re-instate the block if this becomes a problem.
Use this build, once available:
http://ci.ac3-servers.eu/job/Quests/651/


Standardize and fix (Auto-)DNS for Linux, Windows 7/8/10 and MacOS (Native and Docker Toolbox)

Auto-DNS standardization and fixes
This ticket will address various Auto-DNS related issues for all operating systems and all Docker versions.

Idea
I will introduce a second DNS container which will always be able to point to whatever IP the Devilbox is running. A second container is necessary to be independent of the internal DNS name resolution. This one can then also be bound to a computers external interface to be shared within the corporate LAN.

Goal

Automatically have access to all projects (via Auto-DNS) from

your local computer (native or Docker Toolbox)
your local LAN

other computers on the LAN
Android mobiles on the LAN
iPhones on the LAN

Open tasks

[ ] Fix Auto-DNS for Docker Toolbox

[ ] Introduce dedicated autodns container
[ ] Update documentation

[ ] Documentation: Setup Devilbox in a LAN

[ ] Lan computer: how to use Devilbox remote DNS server
[ ] Android: how use Devilbox remote DNS server
[ ] iPhone: how to use Devilbox remote DNS server

[ ] Documentation: Auto-DNS for Linux (various methods: nm, systemd, etc)

--
Note
I have closed all related tickets and linked them here. As soon as the first pull request is ready I will add it here including new instructions.
Comments, suggestions, wishes
Any ideas, comments or feature requests regarding (Auto-)DNS are welcome and I will try to include them in the new setup. Feel free to add anything you wish to see for that.
Pull request

https://github.com/cytopia/devilbox/pull/411

The first PR for this feature has been made and is available to try out: https://github.com/cytopia/devilbox/pull/411

This would be very nice. Especially if it allows custom DNS entries to be added for other LAN devices
And if we manage to include pihole in the bunch, it's going to be a very nice intranet management solution.


Kludge for readILEB128

I've opened a PR for zig https://github.com/ziglang/zig/pull/9803 that will allow throwing away this kludge


Creating Link objects in SchemaProvider classes

My SchemaProvider class "PostingSchema" returns its relationships like this:
    public function getRelationships($posting, $isPrimary, array $includeList)
    {
        $user = $posting->getUser();

        return [
            'author' => [
                self::LINKS => [
                    Link::RELATED => new Link('/users/'.$user)
                ]
            ]
        ];
    }

Is there a way to call the getSelfSubLink method of the $user's schema class instead? Otherwise my code becomes very brittle as changing the UserSchema::resourceType would result in a broken link of the "author" relationship in the Posting.

As far as I understand you would be happy if the following was possible
    public function getRelationships($posting, $isPrimary, array $includeList)
    {
        $user = $posting->getUser();

        return [
            'author' => [
                self::LINKS => [
                    Link::RELATED => $this->getSchemaContainer()->getSchemaByType(User:class)->getSelfSubLink($user),
                ]
            ]
        ];
    }

So the question is 'How to add getSchemaContainer method?'
I can see it as following

Have CustomSchemaProvider that adds get/set for Schema Container and extend all your schemas from this class.
Have custom Schema Container that knows it works only with CustomSchemaProvider instances so it can override createSchemaFromCallable and createSchemaFromClassName methods and set $this as a container.
The last step make encoder to use that custom container. An example of that could be found in Tests/Extensions/Issue154 folder.

I'm sorry it would take some code to inject custom provider and provider container though you will be using documented and tested way of extending the library.
Don't hesitate to ask any questions if you need some help with implementation.

I've added it as idea for next version of the lib https://github.com/neomerx/json-api/projects/1

@luniki I haven't heard any feedback from you for some time and have a feeling your question has been answered. If you need any further assistance please don't hesitate to contact.

I will try your proposed solution and get back to you if there are more obstacles ;-)


chore: update vitest

chore: update vitest
What does this PR do?
Update vitest
Screenshot / video of UI

What issues does this PR fix or reference?

Closes #1107
How to test this PR?

PRs passing
Signed-off-by: Charlie Drage<EMAIL_ADDRESS>

Closes #1107

How does updating vitest fixes the issue?

@axel7083 see https://github.com/podman-desktop/extension-bootc/pull/1102#issuecomment-2551400409

Follow up PR / fixing test in the next sprint: https://github.com/podman-desktop/extension-bootc/issues/1114

Even with updating this is still causing blank pages for the extension. Going to close this for now and see if we can revert back to the old vite.


Added Tree Data Structure in C, Algorithms in C and Python

#hackobterfest 2021

Please review my PR and suggest changes !


Clean up

Wrong repo lol my bad

Actually a lot of stuff may break plugins just fyi

Addressed issues with obsolete attribute


Upgrade itertools

I'm trying to reduce duplicate dependencies in my project and upgrading this version would help me with that.

CI failure seems unrelated to this PR.  A dev dependency won't compile.


Ignore k8s.io/* major/minor version in test/* go.mod

Changes
Similar to the main go.mod, we should probably ignore those bumps as
we handle those when bumping knative/pkg manually.
/kind misc
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs included if any changes are user facing
[ ] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[ ] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

Thank you! @vdemeester
/lgtm


i am getting error "Can't bind to 'ngModel' since it isn't a known property of 'input'" after importing  FormsModule in angular 6

import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {DashboardRoutingModule} from './dashboard-routing.module';
import {DashboardComponent} from './dashboard/dashboard.component';
import {FormsModule} from '@angular/forms';
@NgModule({
imports: [
CommonModule,
DashboardRoutingModule,
FormsModule
],
declarations: [DashboardComponent]
})
export class DashboardModule {}

Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on StackOverflow using tag angular-cli.
If you are wondering why we don't resolve support issues via the issue tracker, please check out this explanation.


Fix #171 (History corruption on close)

This PR drops all the history manipulation code and instead does previews in-place in history (so the history of the current tab never changes).  Basically, instead of relying on the undocumented internals of Obsidian history, this new version relies on the undocumented popstate field in ViewState (that updates the current state without affecting history).

This is now updated to address #157 as well, in that its behavior will fully match that of the standard Obsidian quick switcher with regard to creating tabs, even if you use the preview function, have no unpinned/navigable tabs, and cancel instead of opening files.

@pjeby
I've tested it thoroughly, and it worked perfectly. The code is now cleaner, and I am very grateful. Thank you for your great work!


Johnson and Trotter algorithm

Closes #140

Description:
Checklist
<Put an x between square brackets wherever appropriate without any spaces like [x]>

[x ] I've followed the Contributing guidelines provided in the repository.
[x ] I've made the changes which were demanded in the linked issue.
[x ] My code gave a clean output on debugging. (NO warnings/errors)

@Sigsev-Dev You have mentioned a single issue in the description but your commit solves various issues. Please update the Description!


re-add missing references that were breaking the official build

FYI @KevinRansom

@brettfo ... nice!!!
Thanks
Kevin

Jenkins locked a file.
@dotnet-bot test this please


IE11 CORS error fetching vimeo thumbnail image

Here's a strange one. On IE11, fetching the YouTube image works fine and returns an object {err: null, thumbnail: {...}}
But the exact same code requesting the thumbnail image from a vimeo video returns an error:
SEC7118: XMLHttpRequest for http://vimeo.com/api/v2/video/200927594.json required Cross Origin Resource Sharing (CORS).
This alternative code does work in IE11. It uses the jsonp API from Vimeo
http://jsfiddle.net/archatas/Tv7GZ/
I ended up using the npm module fetch-jsonp to fetch vimeo thumbs instead of embed-video. But you could patch your plugin using fetch-jsonp to get around this issue in IE11
import fetchJsonp from 'fetch-jsonp'
...
fetchJsonp('http://vimeo.com/api/v2/video/' + vimeoId + '.json')
.then((response)=> {
  return response.json()
}).then((json)=> {
  console.log('parsed json', json)
  let copiedState = Object.assign([],this.state.imageSources)
  copiedState[i] = json[0].thumbnail_small
  this.setState({imageSources: copiedState})
}).catch((ex)=> {
  console.log('parsing failed', ex)
})

I'm looking into a similar issue right now. The problem is that request is used which is available in node but not the browser.
https://github.com/alanshaw/embed-video/issues


Include errors in results

Current code removes HTTP errors from results. Don't. Our main use case now involves cached HTML from SiteHound -- if that's bad we want to classify it as an error page.
Hence: include rules for labeling "error".

Fixed in #13.  But not fully integrated.


Run pytype with python 3.8.

It looks like pytype supports 3.8 now.

Codecov Report

Merging #63 into master will decrease coverage by 0.16%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #63      +/-   ##
==========================================
- Coverage   97.00%   96.84%   -0.17%
==========================================
  Files          23       23
  Lines        1438     1426      -12
  Branches      176      173       -3
==========================================
- Hits         1395     1381      -14
- Misses         37       38       +1
- Partials        6        7       +1

Impacted Files
Coverage Δ

pepper_music_player/player/order.py
97.87% <ø> (ø)

pepper_music_player/pubsub.py
100.00% <100.00%> (ø)

pepper_music_player/player/player.py
97.34% <0.00%> (-0.76%)
:arrow_down:

pepper_music_player/sqlite3_db.py
97.10% <0.00%> (-0.09%)
:arrow_down:

pepper_music_player/metadata/tag.py
99.35% <0.00%> (-0.01%)
:arrow_down:

pepper_music_player/library/scan.py
100.00% <0.00%> (ø)

pepper_music_player/metadata/token.py
100.00% <0.00%> (ø)

pepper_music_player/metadata/entity.py
100.00% <0.00%> (ø)

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 fda9dae...fae4da4. Read the comment docs.


[build-script] Set the type for a couple of LTO-related arguments cor…

…rectly.
This allows users of build-script to actually manually limit the number of LTO jobs that are spawned simultaneously.
This addresses rdar://problem/85510897.

@swift-ci Please smoke test

Based on an offline discussion with @edymtt, this PR may not actually be required anymore -- doing some testing on my own and will close this PR if it indeed is not necessary.

Something else changed such that this isn't necessary anymore, so closing this PR!


Upgrade aws-sdk to v3

Currently, the server package makes use of the 2.x version of the AWS SDK for JavaScript, which is scheduled to be deprecated to maintenance mode in 2023.
The 3.x version of the AWS SDK for JavaScript is the recommended replacement library. In addition to remaining current, this version of the SDK is modularly structured, which helps keep the size of packages down by only building with SDK components that are actually in-use. As the SDK in its entirety is rather expansive, and at present we only use the SES client, migrating to the new version should yield a not-insignificant (roughly 72M) reduction in the node_modules footprint.
Upgrade path is documented here.

Quick update - I had some work started before I was unavailable and started a PR with it in #1234, but I had missed that more V2 SDK calls were being made with #1173, so it failed. I'll go back and get that upgraded as well.


Do not align not templated tests in suite with Test Template

Closes #444

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (9c7d791) 97.14% compared to head (5a5d6ea) 97.15%.

:exclamation: Current head 5a5d6ea differs from pull request most recent head b3240a1. Consider uploading reports for the commit b3240a1 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #501   +/-   ##
=======================================
  Coverage   97.14%   97.15%
=======================================
  Files          48       48
  Lines        4350     4360   +10
=======================================
+ Hits         4226     4236   +10
  Misses        124      124

Impacted Files
Coverage Δ

robotidy/transformers/AlignTemplatedTestCases.py
99.23% <100.00%> (+0.06%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Error compiling example code

The compiler gives error while compiling the code on README:
error[E0277]: the trait bound `ArchivedTest: rkyv::CheckBytes<DefaultValidator<'_>>` is not satisfied
  --> src/main.rs:35:20
   |
35 |     let archived = rkyv::check_archived_root::<Test>(&bytes[..]).unwrap();
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rkyv::CheckBytes<DefaultValidator<'_>>` is not implemented for `ArchivedTest`
   |
   = help: the following other types implement trait `rkyv::CheckBytes<C>`:
             <() as rkyv::CheckBytes<C>>
             <(T0,) as rkyv::CheckBytes<C>>
             <(T1, T0) as rkyv::CheckBytes<C>>
             <(T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0) as rkyv::CheckBytes<C>>
             <(T11, T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0) as rkyv::CheckBytes<C>>
             <(T2, T1, T0) as rkyv::CheckBytes<C>>
             <(T3, T2, T1, T0) as rkyv::CheckBytes<C>>
             <(T4, T3, T2, T1, T0) as rkyv::CheckBytes<C>>
           and 156 others

main.rs
use rkyv::{Archive, Deserialize, Serialize};
// bytecheck can be used to validate your data if you want
use bytecheck::CheckBytes;

#[derive(Archive, Deserialize, Serialize, Debug, PartialEq)]
// This will generate a PartialEq impl between our unarchived and archived types
#[archive(compare(PartialEq))]
// To use the safe API, you have to derive CheckBytes for the archived type
#[archive_attr(derive(CheckBytes, Debug))]
struct Test {
    int: u8,
    string: String,
    option: Option<Vec<i32>>,
}

fn main() {
    let value = Test {
        int: 42,
        string: "hello world".to_string(),
        option: Some(vec![1, 2, 3, 4]),
    };

    // Serializing is as easy as a single function call
    let bytes = rkyv::to_bytes::<_, 256>(&value).unwrap();

    // Or you can customize your serialization for better performance
    // and compatibility with #![no_std] environments
    use rkyv::ser::{serializers::AllocSerializer, Serializer};

    let mut serializer = AllocSerializer::<0>::default();
    serializer.serialize_value(&value).unwrap();
    let bytes = serializer.into_serializer().into_inner();

    // You can use the safe API for fast zero-copy deserialization
    let archived = rkyv::check_archived_root::<Test>(&bytes[..]).unwrap();
    assert_eq!(archived, &value);

    // Or you can use the unsafe API for maximum performance
    let archived = unsafe { rkyv::archived_root::<Test>(&bytes[..]) };
    assert_eq!(archived, &value);

    // And you can always deserialize back to the original type
    let deserialized: Test = archived.deserialize(&mut rkyv::Infallible).unwrap();
    assert_eq!(deserialized, value);
}

cargo.toml
[package]
name = "rust-rkyv-test"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
bytecheck = "0.7.0"
rkyv = { version = "0.7.40", features = ["validation"] }

The above code compiles with bytecheck = "0.6.9", rkyv = "0.7.39"

That's intended, rkyv currently uses bytecheck 0.6. In the next release, rkyv will re-export its bytecheck dependency so there's no confusion.


[SPARK-33701][SHUFFLE] Adaptive shuffle merge finalization for push-based shuffle

What changes were proposed in this pull request?

As part of SPARK-32920 implemented a simple approach to finalization for push-based shuffle. Shuffle merge finalization is the final operation happens at the end of the stage when all the tasks are completed asking all the external shuffle services to complete the shuffle merge for the stage. Once this request is completed no more shuffle pushes will be accepted. With this approach, DAGScheduler waits for a fixed time of 10s (spark.shuffle.push.finalize.timeout) to allow some time for the inflight shuffle pushes to complete, but this adds additional overhead to stages with very little shuffles.
In this PR, instead of waiting for fixed amount of time before shuffle merge finalization now this is controlled adaptively if min threshold number of map tasks shuffle push (spark.shuffle.push.minPushRatio) completed then shuffle merge finalization will be scheduled. Also additionally if the total shuffle generated is lesser than min threshold shuffle size (spark.shuffle.push.minShuffleSizeToWait) then immediately shuffle merge finalization is scheduled.
Why are the changes needed?

This is a performance improvement to the existing functionality
Does this PR introduce any user-facing change?

Yes additional user facing configs spark.shuffle.push.minPushRatio and spark.shuffle.push.minShuffleSizeToWait
How was this patch tested?

Added unit tests in DAGSchedulerSuite, ShuffleBlockPusherSuite
Lead-authored-by: Min Shen<EMAIL_ADDRESS>Co-authored-by: Venkata krishnan Sowrirajan<EMAIL_ADDRESS>

Please add corresponding empty commits from authors of the original internal patch and tag that information in the PR description.

Test build #143358 has started for PR 33896 at commit 76c98ad.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47866/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47866/

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

Test build #143358 has finished for PR 33896 at commit 76c98ad.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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

Test build #143423 has started for PR 33896 at commit 5b611bb.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47930/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47930/

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

Test build #143423 has finished for PR 33896 at commit 5b611bb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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

Test build #144974 has started for PR 33896 at commit 04a4b6c.

Test build #144974 has finished for PR 33896 at commit 04a4b6c.

This patch fails Scala style tests.
This patch does not merge cleanly.
This patch adds no public classes.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49445/

Test build #144975 has started for PR 33896 at commit 9eeb7bf.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49445/

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

Test build #144975 has finished for PR 33896 at commit 9eeb7bf.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49446/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49446/

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

Test build #145009 has started for PR 33896 at commit 7f1f3c1.

Test build #145012 has started for PR 33896 at commit f0b0e36.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49485/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49485/

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

Test build #145012 has finished for PR 33896 at commit f0b0e36.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Test build #145014 has started for PR 33896 at commit 4801b3f.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49487/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49487/

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

Test build #145014 has finished for PR 33896 at commit 4801b3f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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

Agree, we need to handle this
On Tue, Nov 9, 2021 at 9:00 PM wuyi @.***> wrote:

@.**** commented on this pull request.
In core/src/main/scala/org/apache/spark/shuffle/ShuffleBlockPusher.scala
https://github.com/apache/spark/pull/33896#discussion_r746212040:

@@ -327,10 +338,32 @@ private[spark] class ShuffleBlockPusher(conf: SparkConf) extends Logging {
s"stop.")
return false
} else {

 if (remainingBlocks.isEmpty && pushRequests.isEmpty && deferredPushRequests.isEmpty) {

@venkata91 https://github.com/venkata91 Let me take an example:
Assuming we have request 1 and request 2 in total and each has 10 blocks.
Then, we start request 1 and request 2 together. When we reach here, the
emptyremainingBlocks is only for request 1. And we'd see pushRequests and
deferredPushRequests are both empty. However, request 2 is still ongoing
and its remaining blocks could be not empty.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/spark/pull/33896#discussion_r746212040, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMETFBC2TD4KIYPIWPKWPLULHN4DANCNFSM5DIGN5HQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Test build #145175 has started for PR 33896 at commit e605a1f.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49644/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49644/

Test build #145175 has finished for PR 33896 at commit e605a1f.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

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

Test build #145636 has started for PR 33896 at commit e317528.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50107/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50107/

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

Test build #145636 has finished for PR 33896 at commit e317528.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
  case class ShufflePushCompletion(shuffleId: Int, shuffleMergeId: Int, mapIndex: Int)

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

Test build #145673 has started for PR 33896 at commit 93d2470.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50143/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50143/

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

Test build #145673 has finished for PR 33896 at commit 93d2470.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class ProbabilisticClassifier(Classifier, _ProbabilisticClassifierParams, metaclass=ABCMeta):
class ProbabilisticClassificationModel(
class _JavaProbabilisticClassifier(ProbabilisticClassifier, _JavaClassifier, metaclass=ABCMeta):
class _JavaProbabilisticClassificationModel(
class _LinearSVCParams(
class LinearSVCModel(
class _LogisticRegressionParams(
class LogisticRegression(
class LogisticRegressionModel(
class BinaryLogisticRegressionSummary(_BinaryClassificationSummary, LogisticRegressionSummary):
class BinaryLogisticRegressionTrainingSummary(
class DecisionTreeClassifier(
class DecisionTreeClassificationModel(
class RandomForestClassifier(
class RandomForestClassificationModel(
class RandomForestClassificationTrainingSummary(
class BinaryRandomForestClassificationTrainingSummary(
class GBTClassifier(
class GBTClassificationModel(
class NaiveBayes(
class NaiveBayesModel(
class _MultilayerPerceptronParams(
class MultilayerPerceptronClassifier(
class MultilayerPerceptronClassificationModel(
class MultilayerPerceptronClassificationTrainingSummary(
class FMClassifier(
class FMClassificationModel(
class _GaussianMixtureParams(
class GaussianMixtureModel(
class _KMeansParams(
class KMeansModel(
class _BisectingKMeansParams(
class BisectingKMeansModel(
class PowerIterationClustering(
class BinaryClassificationEvaluator(
class RegressionEvaluator(
class MulticlassClassificationEvaluator(
class MultilabelClassificationEvaluator(
class ClusteringEvaluator(
class RankingEvaluator(
class Binarizer(
class BucketedRandomProjectionLSH(
class BucketedRandomProjectionLSHModel(
class Bucketizer(
class ElementwiseProduct(
class FeatureHasher(
class HashingTF(
class _OneHotEncoderParams(
class PolynomialExpansion(
class QuantileDiscretizer(
class _StringIndexerParams(
class StopWordsRemover(
class VectorAssembler(
class VectorSizeHint(
class VarianceThresholdSelector(
class VarianceThresholdSelectorModel(
class UnivariateFeatureSelector(
class UnivariateFeatureSelectorModel(
class _LinearRegressionParams(
class LinearRegressionModel(
class IsotonicRegression(
class IsotonicRegressionModel(JavaModel, _IsotonicRegressionParams, JavaMLWritable, JavaMLReadable):
class DecisionTreeRegressor(
class RandomForestRegressor(
class _AFTSurvivalRegressionParams(
class AFTSurvivalRegression(
class AFTSurvivalRegressionModel(
class _GeneralizedLinearRegressionParams(
class GeneralizedLinearRegression(
class GeneralizedLinearRegressionModel(
class _FactorizationMachinesParams(
class FMRegressionModel(
class CrossValidator(
class TrainValidationSplit(
               + \"class name
class MultivariateGaussian(NamedTuple):
class SQLStringFormatter(string.Formatter):
class PandasAPIOnSparkAdviceWarning(Warning):
class CloudPickleSerializer(FramedSerializer):
class ArrowStreamUDFSerializer(ArrowStreamSerializer):
class DayTimeIntervalType(AtomicType):
class DayTimeIntervalTypeConverter(object):
case class RelationTimeTravel(
case class AsOfTimestamp(timestamp: Long) extends TimeTravelSpec
case class AsOfVersion(version: String) extends TimeTravelSpec
case class ExpressionStats(expr: Expression)(var useCount: Int)
case class UnclosedCommentProcessor(
case class PythonMapInArrow(
case class OptimizeSkewedJoin(ensureRequirements: EnsureRequirements)
trait MapInBatchExec extends UnaryExecNode
case class PythonMapInArrowExec(
  // When this is enabled, this class does additional lookup on write operations (put/delete) to

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

Test build #145680 has started for PR 33896 at commit d86f019.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50150/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50150/

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

Test build #145680 has finished for PR 33896 at commit d86f019.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Test build #145685 has started for PR 33896 at commit ceb6136.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50155/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50155/

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

Test build #145685 has finished for PR 33896 at commit ceb6136.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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

It is looking mostly good @venkata91.
I would also like @Ngone51 to take a pass through it.

Instead of FakeShuffleClient, we can mock shuffleClient.pushBlocks such that for specific host:port, we delay responding.
For example:
a) For requests to host1, we wait on a latch.
b) For other requests we return immediately (as in interceptPushedBlocksForSuccess).
This can be used to check all blocks are in flight, some have completed and reqsInFlight > 0 ?

Tried waiting on the latch for one of the shuffleClient.pushBlocks call but this is still not working. Need to have a latch on the notifyDriverAboutPushCompletion so that the tests won't complete before all the blocks are pushed. So instead just checking assert(bytesInFlight <= 0) in notifyDriverAboutPushCompletion itself. Let me know if you have other thoughts.

Test build #146169 has started for PR 33896 at commit 360b531.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50642/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50642/

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

Test build #146169 has finished for PR 33896 at commit 360b531.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Test build #146195 has started for PR 33896 at commit 30fbbe1.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50669/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50669/

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

Test build #146195 has finished for PR 33896 at commit 30fbbe1.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class TimedeltaOps(DataTypeOps):
class TimedeltaIndex(Index):
class MissingPandasLikeTimedeltaIndex(MissingPandasLikeIndex):
class PandasSQLStringFormatter(string.Formatter):
class UDFBasicProfiler(BasicProfiler):
class SQLStringFormatter(string.Formatter):
class ExecutorPodsPollingSnapshotSource(
class ExecutorPodsWatchSnapshotSource(
class ExecutorRollPlugin extends SparkPlugin
class ExecutorRollDriverPlugin extends DriverPlugin with Logging
  class AnsiCombinedTypeCoercionRule(rules: Seq[TypeCoercionRule]) extends
 class CombinedTypeCoercionRule(rules: Seq[TypeCoercionRule]) extends TypeCoercionRule
case class PrettyPythonUDF(
case class MapContainsKey(
case class TryElementAt(left: Expression, right: Expression, child: Expression)
case class ConvertTimezone(
case class AesEncrypt(
case class AesDecrypt(
case class CreateTable(
case class TableSpec(

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

Test build #146199 has started for PR 33896 at commit beb77eb.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50673/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50673/

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

Test build #146199 has finished for PR 33896 at commit beb77eb.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Test build #146210 has started for PR 33896 at commit d60ee7b.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50684/

Test build #146212 has started for PR 33896 at commit 376e19e.

Test build #146212 has finished for PR 33896 at commit 376e19e.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50686/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50684/

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

Test build #146210 has finished for PR 33896 at commit d60ee7b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Addressed all the review comments. @mridulm @Ngone51 please take a look.

Test build #146216 has started for PR 33896 at commit d7d7546.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50686/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50690/

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

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50690/

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

Test build #146216 has finished for PR 33896 at commit d7d7546.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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

Test build #146261 has started for PR 33896 at commit 616739c.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50735/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50735/

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

Test build #146261 has finished for PR 33896 at commit 616739c.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
   (defaultdict(<class 'list'>,

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

Test build #146301 has started for PR 33896 at commit d5ff70c.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50773/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50773/

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

Test build #146301 has finished for PR 33896 at commit d5ff70c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

@Ngone51 I am fine with the pr (barring the minor testcase related comments).
Please feel free to merge when you are happy with the PR - I will be on vacation, so dont want to block your review/merge :-)

@Ngone51 Addressed @mridulm comments. Please take a look.

Test build #146403 has started for PR 33896 at commit 4930b3f.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50878/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50878/

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

Test build #146403 has finished for PR 33896 at commit 4930b3f.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
public class RocksDB implements KVStore
 public static class TypeAliases
class RocksDBIterator<T> implements KVStoreIterator<T>
class RocksDBTypeInfo
 class Index
 trait SwitchToDiskStoreListener
case class RegrCount(left: Expression, right: Expression)
public class LogDivertAppender extends AbstractWriterAppender<WriterManager>

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

Not sure why this test is failing org.apache.spark.sql.streaming.StreamingAggregationSuite. Any thoughts? @Ngone51 Let me try updating the master and merging it.

Not sure why this test is failing org.apache.spark.sql.streaming.StreamingAggregationSuite. Any thoughts? @Ngone51 Let me try updating the master and merging it.

I tried running it locally that succeeded though.

Ok. Updating the PR with the latest master changes fixed the issue. But some of those test failures are transient and random. Every run has different failures compared to the previous one. @Ngone51 @mridulm Please take a look.

Thanks for working on this @venkata91 !
Thanks for the review @Ngone51 :-)


Usage with loader

I use the expandable recycler view in a fragment and load the data with a loader.
This means, that the data is not available in the onCreate() or onCreateView() methods but in the method onLoadFinished().
The problem is, that the adapter forces me to set the data when calling its constructor and does not allow to set it later. Due to that fact, I cannot use the method onRestoreInstanceState() because when onCreate()/onCreateView() is called, the adapter is not yet created.
It would therefore be great to have a separate method to supply the data and also store the savedInstanceState in the adapter until the data is set.

@PRosenb Interesting problem. I would recommend you store the savedinstancestate until you can use it in the onLoadFinished I worry that if the library does so it'll lead to a little bit of bloat on what the library handles. As far as supplying the data I agree that not having better setters of data is holding you back here. Once we get around to implementing notifyDataSetChanged() we should be able to set the data entirely and call for a refresh, for now it seems you might be better off setting up a new adapter in your onLoadFinished() restoring the state, and passing in the adapter with [swapAdapter()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html#swapAdapter(android.support.v7.widget.RecyclerView.Adapter, boolean))
Did I understand your issue correctly, it seems there is nothing entirely blocking your functionality but instead things we can do to make your life a little easier (ala having a working notifyDataSetChanged() method?)?

Hi Paul, thanks for your reply.
To me it looks like a good design to keep the adapter and supply it with the savedInstanceBundle in the appropriate callback methods of the fragment. That's also done this way in the Loader description:
Loaders
Yes I agree, adding the ability to set the data on an existing loader would improve it much. When the savedInstanceBundle is set before in the callback methods of the fragment, I think it should be applied when the data is then set later on.
This issue doesn't block me, I will do the workaround you suggested.

Good luck with the workaround.
Seems like there is no direct action from this right now (apart from notifyDatasetChanged which is being tracked in #89 ) I will close this but feel free to comment again if something comes up directly related to this.