Incorrect Client Plugin Volume

It looks like the client plugin is getting bound incorrectly:
https://github.com/mattermost/docker/blob/ac96896538436a65d421d7f14f4e21ee2b688715/docker-compose.yml#L45
Based on the volumes in the Dockerfile for both the official image and the community image, this should be /mattermost/client/plugins:
https://github.com/mattermost/mattermost-server/blob/e5386043453bc05264609f1a77fafb66aeea0857/build/Dockerfile#L50
https://github.com/mattermost/mattermost-docker/blob/ed8a619d3981060679afe80087f2e6a6be315b3c/app/Dockerfile#L57
It looks like the community version used client-plugins/ but mapped it to client/plugins/:
https://github.com/mattermost/mattermost-docker/blob/ed8a619d3981060679afe80087f2e6a6be315b3c/docker-compose.yml#L37
I'm no sure if it is preferable to just change the compose file to ${MATTERMOST_CLIENT_PLUGINS_PATH}:/mattermost/client/plugins:rw, or if MATTERMOST_CLIENT_PLUGINS_PATH should also be expanded out to ./volumes/app/mattermost/client/plugins, similar to how the DB data is in env.example.
https://github.com/mattermost/docker/blob/ac96896538436a65d421d7f14f4e21ee2b688715/env.example#L18

Thank you for reporting @atreides322. https://github.com/mattermost/docker/pull/17 fixes this and for consistency reasons both the docker-compose.yml and env.example will be changed.


Right menu content is always hidden

Hi,
There is a problem with the content of the right menu which is always hidden when we open it.
I have solved this by using the 'onOpenRight' event, but it is still an issue.
Thanks !

Is this related to firefox as well?

I have this problem on Chrome (with Mac OS). It's not related to the other issue I think.
I'm having this problem on your demo website for example. I only see the search bar on the right menu, the other items in the div ".panelcontent" are always hidden.

I understand. Well, in the demo the search bar is only supposed to open. You set what panel to open using the data attributes
data-panel="search" targets data-panel="search"
so change data-panel to "iconmenu" to open that panel instead

Okay it works great, thanks !


Handle exceptions properly in tee

Description
When the input async generator raises exception, the exception is not propagated.
This can be an issue when using asyncio.gather(..., return_exceptions=True) as in aioitertools.zip_longest.
Fixes: This fixes tee to propagate the exception to the others.

I fixed lint, and added test code. This test never ends with aioitertools master version (3da6ea982ab6a5a1f8cf2ddae04864cdc23b78df).

I fixed lint, and added test code. This test never ends with aioitertools master version (3da6ea982ab6a5a1f8cf2ddae04864cdc23b78df).

Thank you!


[Bug]: XML Site Export not working

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
When attempting to perform an XML site export via Manage > Sites > "Export Template", an error is experienced.

Steps to reproduce?

Install a clean instance of DNN
Go to Manage > Sites
Hover over and click "Export Template"
Complete template name and description fields
Toggle all options
Click "Create Template"
See error on screen
View server logs for details

Current Behavior
An error is shown...

Expected Behavior
An XML template should be successfully generated.
Relevant log output
2024-01-19 14:23:26.630-05:00 [nv-pc07][D:6][T:61][ERROR] Dnn.PersonaBar.Sites.Services.SitesController - System.NullReferenceException: Object reference not set to an instance of an object.
   at System.Xml.XmlNode.RemoveChild(XmlNode oldChild)
   at DotNetNuke.Entities.Tabs.TabController.SerializeTab(IBusinessControllerProvider businessControllerProvider, XmlDocument tabXml, Hashtable tabs, TabInfo tab, PortalInfo portal, Boolean includeContent)
   at DotNetNuke.Entities.Portals.Templates.PortalTemplateExporter.SerializeTabs(IBusinessControllerProvider businessControllerProvider, XmlWriter writer, PortalInfo portal, Hashtable tabs, TabCollection tabCollection, IEnumerable`1 tabsToExport, Boolean chkContent)
   at DotNetNuke.Entities.Portals.Templates.PortalTemplateExporter.SerializeTabs(IBusinessControllerProvider businessControllerProvider, XmlWriter writer, PortalInfo portal, Boolean isMultilanguage, IEnumerable`1 tabsToExport, Boolean includeContent, IEnumerable`1 locales, String localizationCulture)
   at DotNetNuke.Entities.Portals.Templates.PortalTemplateExporter.ExportPortalTemplate(IBusinessControllerProvider businessControllerProvider, Int32 portalId, String fileName, String description, Boolean isMultiLanguage, IEnumerable`1 locales, String localizationCulture, IEnumerable`1 exportTabIds, Boolean includeContent, Boolean includeFiles, Boolean includeModules, Boolean includeProfile, Boolean includeRoles)
   at DotNetNuke.Entities.Portals.Templates.PortalTemplateController.ExportPortalTemplate(Int32 portalId, String fileName, String description, Boolean isMultiLanguage, IEnumerable`1 locales, String localizationCulture, IEnumerable`1 exportTabIds, Boolean includeContent, Boolean includeFiles, Boolean includeModules, Boolean includeProfile, Boolean includeRoles)
   at Dnn.PersonaBar.Sites.Components.SitesController.ExportPortalTemplate(ExportTemplateRequest request, UserInfo userInfo, Boolean& success)
   at Dnn.PersonaBar.Sites.Services.SitesController.ExportPortalTemplate(ExportTemplateRequest request)

Anything else?
No response
Affected Versions
9.13.2 (latest release), 9.13.3 (alpha), 10.0.0 (alpha)
What browsers are you seeing the problem on?
Firefox, Chrome, Safari, Microsoft Edge
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Okay, I did some additional testing.  It works in 9.11.2 and 9.13.0.  However, it does not work in 9.13.1, 9.13.2, and 10.0.0 (alpha).  Thanks to @jeremy-farrance  for some of the testing.

This forum thread on the DNN Community website may or may not be related to this issue.


luci-app-snmpd: Basic net-snmpd config options

Imported from https://github.com/remakeelectric/owrt_pub_feeds/tree/master/luci-app-snmpd
Only provides configuration of basic authentication and system level
options, not even close to the entire slew of options that net-snmp
supports, but the basics are still helpful, and a base for future work.
Signed-off-by: Karl Palsson<EMAIL_ADDRESS>

Merged, thanks!


Define a default progress bar format

With this PR, the text after the tqdm progress bar looks like
37.3% - Time 00:11/00:19

Nice initiative. To this point maybe we could directly code a torchqdiffeq.tqdm function that calls tqdm with the correct formatting to avoid copy pasting it everywhere and be easier to add more options later ?

Nice initiative. To this point maybe we could directly code a torchqdynamics.tqdm function that calls tqdm with the correct formatting to avoid copy pasting it everywhere and be easier to add more options later ?

Yes maybe something more like the last commit?

In the end I went with |██████████| 100.0% - time 00:05/00:00, and removed the {desc} since it's not implemented yet.


fix: correct license

The most recent commit ead2ecb adds the MIT license, however we still have a GNU license in the repo.
We also specify the license as ISC in package.json and README.md.
Delete the GNU license and replace the ISC license in package.json and README.md with the new MIT license.

LICENSE or LICENSE.md? Do we need both?

I'll remove LICENSE instead of LICENSE.md since having both seems redudant and check for any references but seems good otherwise!


Logs utility could show more info at the start

When running kpack in a specific namespace (not the default namespace) and you run the logs utlity, there is literally no output, the logs utility just hangs and shows nothing.
First time troubleshooting can be very confusing, since the build pod is running and maybe failing, but you cannot see why through the logs utility.
Only by adding the -namespace flag, it starts working and actual logs (and possible errors) show up.
So it this may seem like "duh, you need to add the namespace to the command", this didn't seem so obvious from a first user's perspective.
What would help is an output line at the start indicating something like:
Showing output for image <image-name> in namespace <namespace>
That way, I would have immediately noticed it was polling logs in the wrong namespace.

I ran into this issue too. It's pretty unintuitive that it hangs with no arguments, and also with any valid arguments that cause it to look up a build that doesn't exist on the targeted API server.


min and max validation for attrs.type 'number'

min and max validation messages were missing for attrs.type 'number'. validation messages added

Coverage remained the same at 98.24% when pulling b7b7db2a7b78136e276c966f1e662e1eb501f2cb on sajidali:min-max-validation-messages into f848ff26fbb260c4f2435647f33af16751240ffb on johannesjo:master.


Unrecognized expression '$last'

Hi,
i'm using this query
models_types::orderby('manufacturer_name')->groupby('manufacturer_name')->pluck('manufacturer_name','_id');
so that to get an array with these 2 fields. If i remove the groupby works fine but with it i get the error Unrecognized expression '$last'
With this query i want to retrieve distinct values of manufacturer_name in a collection that i have many documents with many manufacturers.
The issue comes up if i want to retrieve the object id.
I use
Laravel 6.2
PHP 7.3
MongoDB 4.2

@dpapala, show example for document models_types

@Smolevich Here is an example of a document
{"_id":"5dce720d624700008e000680","code":"123456","manufacturer_id":"43","manufacturer_name":"ABARTH","model_name":"500","type1":"500 1.4i 16v T-Jet","type2":"","doors":"3","seats":"5","begindate":"2008-07-01","enddate":"2012-12-01","chassistype":"Χάτσμπακ","cc":"1368","engine_power_kw":"99","engine_power_hp":"135","tax_hp":"10","co2_emission":"155","created_at":"2019-02-08T08:03:22.000Z","updated_at":"2019-11-15T12:19:18.000Z","assignments":{"1":"ABAR","2":"ABARTH","3":"43","5":"","6":"839","7":"43","34":"43"}}

same issue


Added Ruby client example

A simple port from the python client.

ping @AnthorNet

I love that this thing has almost become a rosetta stone for different languages!

Is there any maintainer checking PRs still?

Yes, but there was also updates to deal with, crisis and such ;)

Ah sorry if that came across as pushy, it was an honest question 😅
Happens a lot in Github.


A sycl::local_accessor-like API for numba-dpex kernel

[X] Have you provided a meaningful PR description?

The PR adds a sycl::local_accessor like API to numba-dpex's kernel API.

[x] Have you added a test, reproducer or referred to an issue with a reproducer?
[x] Have you tested your changes locally for CPU and GPU devices?
[x] Have you made sure that new changes do not introduce compiler warnings?
[ ] If this PR is a work in progress, are you filing the PR as a draft?

TODOs

[x] All existing test cases pass
[x] New test case to verify that the kernel function argument for a local_accessor is correctly generated
[x] dpctl PR merged with new changes [IntelPython/dpctl/pull/1558]
[x] Remove hard-coding for typeid (after adding a new enum in dpctl) [#1379]
[x] Add end-to-end tests
[ ] Example
[ ] Tutorial
[x] According to section <IP_ADDRESS>. of the SYCL specification, a local_accessor must not be used in a SYCL kernel function that is invoked via single_task or via the simple form of parallel_for that takes a range parameter.

@ZzEeKkAa please review once again. I have added all changes and tests. I will add an example and update the kernel programming guide in a separate PR.

coverage: 82.949% (+0.2%) from 82.781%
when pulling b12c1a38a80e6dd88d492e4af08b494d73be4c50 on experimental/local_accessors
into e84ddce13f0467094f786391c4c4a85d49af6309 on main.


Details about EUREC4A-MIP boundary conditions

This issue addresses a remaining discussion of #84
The section on boundary conditions and pseudo-global warming data is currently missing some details that need to be added to make the available output useful for new users.

@torresalavez could you try to add some details? I'd be happy to help.

Thanks @torresalavez for updating us on the progress. Could you add this information to the EUREC4A-MIP page here: https://github.com/eurec4a/how_to_eurec4a/blob/master/how_to_eurec4a/eurec4a_mip.md
That would be great. The information is then available to everyone who is interested.

@torresalavez sorry to bother you. It would be great to have this information on howto.eurec4a.eu before the CF-MIP  conference stars on July 9th. Intensive discussions about the EUREC4A-MIP will happen there and it would be great to have the access and documentation up-to-date by than.

@torresalavez examples where some additional explanation is needed are, e.g.:

the difference between the dimensions level and level1 in the ERA5 dataset
the difference between variables like bk and bkm, which have currently the same attributes (units, long_name)

@torresalavez also, the coordinates of the boundary conditions are incorrect (at least of COSMO 2D):
 Maybe rlon(rlon=1451):units = "degrees" should be degrees_east?
Even if I assume this domain is at the right location, then I wonder if the variable name is very fitting as there are also temperatures on the ocean. Please clarify the meaning of this variable also in the documentation.

In ncview the location is right. I do not know what is the problem in panoply. Could I share a python file to open it?

Where I can write the comments on the name of the variable? and the specifications on half and lowest layer in ERA5?

Where I can write the comments on the name of the variable? and the specifications on half and lowest layer in ERA5?

I suggest adding them somewhere in the boundary condition section. Just suggest an edit, make your additions, commit and create a Pull Request. I will take a look at it and merge it.

In ncview the location is right. I do not know what is the problem in panoply. Could I share a python file to open it?

Ncview is does not seem to interpret the coordinates (lat, lon) and the rotated grid information (rotated_grid), but rather shows just an image with the dimensions rlat and rlon. Panoply is smarter and actually goes the extra mile and looks up the correct coordinates for the dimension. I think what happened here is that the rotated_grid is incorrect.  I cannot find too much information about the attribute grid_north_pole_longitude, but it is defined in degrees_east and probably sets the reference point for the rotated grid. In the current files grid_north_pole_longitude=-180 and therefore sets the reference at the date line. With ncatted -a 'grid_north_pole_longitude,rotated_pole,o,f,0' lffd20200101000000.nc lffd20200101000000_modified.nc I get the correct result:
To be honest, I would even suggest to get rid of the rotated_grid all together, because the data is on a regular grid, i.e. all lat and lon values are identical independent of their longitude and latitude. Only some minor rounding errors are present:
import numpy as np
import xarray as xr
ds = xr.open_dataset("lffd20200101000000.nc")
for row in ds.lon.values.T:
    print(np.unique(row)
# [-64.]
# [-63.98]
# [-63.96]
# [-63.94]
# [-63.92]
# [-63.9]
# [-63.88]
# [-63.86]
# [-63.84]
# [-63.82]
# [-63.8]
# [-63.78]
# [-63.76]
# [-63.739998]
# [-63.72]
# ....
for row in ds.lat.values:
     print(np.unique(row))
# [6.]
# [6.02]
# [6.04]
# [6.06]
# [6.08]
# [6.1]
# [6.12]
# [6.14]
# [6.16]
# [6.18      6.1800003]
# [6.2       6.2000003]
# [6.2200003]

This would drastically reduce the complexity and make it easier to use and understand.
I would suggest to aim to create files with the following metadata:
dimensions:
	time = UNLIMITED ; // (1 currently)
	bnds = 2 ;
-	rlon = 1451 ;
-	rlat = 901 ;
+	lon = 1451 ;
+	lat = 901 ;
variables:
	double time(time) ;
		time:standard_name = "time" ;
		time:long_name = "time" ;
		time:bounds = "time_bnds" ;
		time:units = "seconds since 2020-01-01T00:00:00Z" ;
		time:calendar = "proleptic_gregorian" ;
		time:axis = "T" ;
	double time_bnds(time, bnds) ;
-	float lon(rlat, rlon) ;
+	float lon(lon) ;
		lon:standard_name = "longitude" ;
		lon:long_name = "longitude" ;
		lon:units = "degrees_east" ;
		lon:_CoordinateAxisType = "Lon" ;
-	float lat(rlat, rlon) ;
+	float lat(lon) ;
		lat:standard_name = "latitude" ;
		lat:long_name = "latitude" ;
		lat:units = "degrees_north" ;
		lat:_CoordinateAxisType = "Lat" ;
-	double rlon(rlon) ;
-		rlon:standard_name = "projection_x_coordinate" ;
-		rlon:long_name = "rotated longitude" ;
-		rlon:units = "degrees" ;
-		rlon:axis = "X" ;
-	double rlat(rlat) ;
-		rlat:standard_name = "projection_y_coordinate" ;
-		rlat:long_name = "rotated latitude" ;
-		rlat:units = "degrees" ;
-		rlat:axis = "Y" ;
-	int rotated_pole ;
-		rotated_pole:long_name = "coordinates of the rotated North Pole" ;
-		rotated_pole:grid_mapping_name = "rotated_latitude_longitude" ;
-		rotated_pole:grid_north_pole_latitude = 90.f ;
-		rotated_pole:grid_north_pole_longitude = -180.f ;
-	float PS(time, rlat, rlon) ;
+	float PS(time, lat, lon) ;
		PS:standard_name = "surface_air_pressure" ;
		PS:long_name = "surface pressure" ;
		PS:units = "Pa" ;
-		PS:grid_mapping = "rotated_pole" ;
		PS:coordinates = "lat lon" ;
		PS:cell_methods = "time: point" ;
-	float T_S(time, rlat, rlon) ;
+	float T_S(time, lat, lon) ;
		T_S:long_name = "soil surface temperature" ;
		T_S:units = "K" ;
-		T_S:grid_mapping = "rotated_pole" ;
		T_S:coordinates = "lat lon" ;
		T_S:cell_methods = "time: point" ;

Does this make sense to you @torresalavez ?

I agree, maybe we have to keep both data sets (the original and rotated) and the users decide. We should explain  the curvilinear grid of the model and the changes/errors in the second dataset.

As far as I'm concerned the data structure looks like it is on a curvilinear grid, but it actually isn't. It is already on a regular grid. rlat and rlon are, despite some numerical rounding artefacts, identical to the locations saved in lon and lat. And lon and lat could be 1D. There is no additional information in the 2D. lat does not change with lon and vice versa.

You are right this data is extracted from original (I processed it with cdo).


Question: Getting audio playback and capture devices are currently used in the OS by default

Thank you for a very useful library! I would like to know how to get audio devices that are currently used in the OS by default and is it possible to do this in the current version of the library? Thank you in advance for your answer.

I started to create wiki pages for this library. There is a wiki page for media devices. Right now, the Java API does not have methods implemented to retrieve the default device of the OS. BUT, the native code does have an implementation which works at least for Windows and macOS, Linux not tested with default devices.
Will add these methods to the Java implementation.

Thanks a lot for the quick response.

@devopvoid 0.6 resolve this?

The version 0.6.0 should resolve this issue.
MediaDevices.getDefaultAudioRenderDevice(); (e.g. speaker)
MediaDevices.getDefaultAudioCaptureDevice(); (e.g. microphone)
Please let me know if this works for you.

It works for me. I'm tested this on Win10.
But on MacOS getDeafultAudioRenderDevice() return empty device name if used embedded speaker.

Hello, dear friend!
Thanks again for the great work done.
I continue to investigate the WebRTC library in more detail and found the following problems with getting a list of devices.
Problems concern macOS:

The "deviceConnected" and "deviceDisconnected" method of the DeviceChange Listener interface returns an empty name if it has Cyrillic characters. The problem is clearly in the encoding
The AudioDeviceModule method.getPlayoutDevices() returns the device names correctly, but the descriptor values are missing.
The number of devices that mediaDevices and AudioDeviceModule returns is different.
This leads to the fact that it is not always possible to correctly install the connected device in the DeviceChangeListener event
I attach a screenshot that shows everything described above.

Hello @devopvoid
This issue fix in next version?

I'm on it. Will test the mac version this week and comment on this issue.

The latest snapshot now works with Cyrillic and other characters.

Thanks for the fix for the Cyrillic problem.  Please tell me, has anything been done with the fact that all capture devices and playback devices guid returned as null when received through AudioDeviceModule? This behavior is only on MacOS. On win10 everything is fine. In our correspondence above I attached a screenshot where you can see it.
Thank you in advance for the answer!


[SourceKit] Add subscript to doc structure (SR-5035)

This adds subscript to the structure reported by SourceKit.
For example, for this file:
struct Thing {
    subscript(index: Int) -> Int {
        return 2
    }
}

We get this response with source.request.editor.open (using sourcekitd-repl):
{
  key.offset: 0,
  key.length: 64,
  key.diagnostic_stage: source.diagnostic.stage.swift.parse,
  key.syntaxmap: [
    {
      key.kind: source.lang.swift.syntaxtype.keyword,
      key.offset: 0,
      key.length: 6
    },
    {
      key.kind: source.lang.swift.syntaxtype.identifier,
      key.offset: 7,
      key.length: 5
    },
    {
      key.kind: source.lang.swift.syntaxtype.keyword,
      key.offset: 16,
      key.length: 9
    },
    {
      key.kind: source.lang.swift.syntaxtype.identifier,
      key.offset: 26,
      key.length: 5
    },
    {
      key.kind: source.lang.swift.syntaxtype.typeidentifier,
      key.offset: 33,
      key.length: 3
    },
    {
      key.kind: source.lang.swift.syntaxtype.typeidentifier,
      key.offset: 41,
      key.length: 3
    },
    {
      key.kind: source.lang.swift.syntaxtype.keyword,
      key.offset: 50,
      key.length: 6
    },
    {
      key.kind: source.lang.swift.syntaxtype.number,
      key.offset: 57,
      key.length: 1
    }
  ],
  key.substructure: [
    {
      key.kind: source.lang.swift.decl.struct,
      key.accessibility: source.lang.swift.accessibility.internal,
      key.name: "Thing",
      key.offset: 0,
      key.length: 63,
      key.nameoffset: 7,
      key.namelength: 5,
      key.bodyoffset: 14,
      key.bodylength: 48,
      key.substructure: [
        {
          key.kind: source.lang.swift.decl.function.subscript,
          key.accessibility: source.lang.swift.accessibility.internal,
          key.name: "subscript(_:)",
          key.offset: 16,
          key.length: 45,
          key.nameoffset: 0,
          key.namelength: 0,
          key.substructure: [
            {
              key.kind: source.lang.swift.decl.var.parameter,
              key.name: "index",
              key.offset: 26,
              key.length: 10,
              key.typename: "Int",
              key.nameoffset: 0,
              key.namelength: 0
            }
          ]
        }
      ]
    }
  ]
}

Resolves SR-5035.
PS: I'm using the generated Xcode project, but haven't found a way to run the tests (this is my first contribution!), so they will likely fail. Some help would be really appreciated.
Also, this wouldn't be possible if @johnfairh didn't reach out and offered some advice on how to start and pointed to his PR. Thanks so much 🙌

I should probably try to include the body length/offset too

PS: I'm using the generated Xcode project, but haven't found a way to run the tests

The Xcode build is incompatible with the lit suite.  The README recommends you use a Ninja build - which will allow you to run the tests.
Could you also do a quick rebase?

I was not able to setup the ninja build, so I'm closing this. If anyone wants to continue and open another PR based on this one, it'd be awesome 💯.

@marcelofabri If you're having trouble with the build, please don't hesitate to send me a message on Twitter (@Codafi_).


Set up VEX to eliminate false-positives from vulnerability scanning tool results

e.g., https://github.com/CycloneDX/bom-examples/tree/master/VEX/Use-Cases/Case-4
For false positives like:

#1571

Thanks for explanation.
Regards,
Sachin. K.

xref: https://github.com/kubernetes/kubernetes/issues/121454

xref: https://github.com/kubernetes/sig-security/issues/116


Parse 1.9.0 not working under 7.1.1 device

I receive this message in my iPhone 7.1.1 when trying to login or call findObjectsInBackgroundWithBlock
Printing description of error:
Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (JSON text did not start with array or object and option to allow fragments not set.) UserInfo=0x17807eb40 {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}
However, in the simulator (ios 9.0), works perfectly.
Any idea?
Thanks.

@Ricardo1980 this was fixed in 1.9.1 version of the SDK, which was released just yesterday.
Let me know if the latest version works for you.

Awesome! Now it works, thanks!


Fix error if no filename

Filename on fs.watch can be null. This causes Dat to crash: https://github.com/datproject/dat/issues/964. Seems like it happens on rename sometimes for windows, see node docs note: https://nodejs.org/api/fs.html#fs_filename_argument
Make sure we have filename before calling onchange event. I assume we shouldn't call onchange without a filename?

Also of note:

https://nodejs.org/api/fs.html#fs_availability
For linux: https://unix.stackexchange.com/questions/13751/kernel-inotify-watch-limit-reached

I guess other platforms have similar limits on the total number of files we can watch at once.

1.1.4


Locust stops sending requests (boto3 / sqs)

Prerequisites

[X] I am using the latest version of Locust
[X] I am reporting a bug, not asking a question

Description
We run locust as a library, within a Process. We recently upgraded to the most recent version of locust, previously having used 2.14.2 without issues. Now, we're seeing instances where, at random points through the locust process, injection stops. The process is still running and the stats tables are still being printed to the console, but they just keep sending the same stats, as nothing further is happening. This continues until our process timeout kicks in and shuts down.
There seems to be no pattern to where we see the halt in injection, it's been observed after a couple of hundred requests, as well as after several thousand.
Command line
n/a - library
Locustfile contents
def stop_program(env: Environment):
    env.runner.quit()
    env.runner.greenlet.join()
    env.web_ui.stop()

def main(target_users, spawn_rate, timeout):
    env = Environment(user_classes=[
        myUserClasses
    ])
    env.create_local_runner()

    csv_writer = StatsCSVFileWriter(
        environment=env,
        base_filepath=stats_path,
        full_history=True,
        percentiles_to_report=[75.0, 80.0, 90.0, 100.0]
    )
    env.create_web_ui("<IP_ADDRESS>", 8089, stats_csv_writer=csv_writer)

    # # start a greenlet that periodically outputs the current stats
    stat_print = gevent.spawn(stats_printer(env.stats))
    # # start a greenlet that save current stats to history
    stat_hist = gevent.spawn(stats_history, env.runner)

    stat_csv = gevent.spawn(csv_writer)

    # # start the test
    env.runner.start(target_users, spawn_rate=spawn_rate)

    # # in x seconds stop the runner
    for i in range(timeout):
        sleep(1)
    stop_program(env)

### this all being called by the following, from another file:
locust_process = Process(
        target=locustfile.main,
        args=(locust_target_users,
              locust_spawn_rate,
              locust_timeout_secs)
    )
    locust_process.daemon = True
    locust_process.start()
    locust_wait.wait()
    locust_process.terminate()

Python version
3.10
Locust version
2.24
Operating system
Ubuntu

Enable logging like this and see what it is doing:
from locust.log import setup_logging

setup_logging("DEBUG")

I've done this and whilst inconclusive, the issue appears to be related to boto3 calls to SQS (get_queue_by_name, receive_messages), where we see the debug output for the outgoing request and then nothing further, no response. This appears to be hanging each of the users. Are there any known incompatibilities here?

make sure you import locust before anything boto3-related otherwise gevent may fail to patch certain things. Yes, there has been a few issues regarding that...

Ok, should that order of imports only be needed within the locustfile.main we're importing and running as a library? There is no boto3 in that file, but lower down
The first thing our framework does is call the following lines, then goes through all it's setup etc before entering the locust process
import gevent.monkey
gevent.monkey.patch_all()

we tried with the following imports in our parent file, but still see the issue
import locust
import gevent.monkey
gevent.monkey.patch_all()
import boto3

There is no need to run patch_all() yourself, locust does it for you at import time.
If you're running multiple users, make sure they are not all using the same sqs connection. Maybe use the WaitTimeSeconds parameter to time out waits rather than blocking forever, if the problem is that they are just not getting any data.

i've removed the manual call to patch_all() but no improvement from that.
also narrowed it down to the calls to get_queue_by_name. With the debug output, we can see calls to it being made throughout the run, along with the responses. But then we just see the requests be made with no corresponding response, up to the number of locust users, at which point injection stops presumably as all the users are tied up waiting in these requests.
For the receive_messages point, we do already utilise WaitTimeSeconds, setting that at 5. We reduced to 0 to see if that would deliver any gains either but since then have narrowed the issue down to the other call

I have no idea why get_queue_by_name by name doesnt play nicely. Could be a gevent related thing, could be something completely different. Unless you can clearly show that it relates to locust I dont think I can help, sorry :(
Just a (maybe stupid) question: Do you really need to call get_queue_by_name more than once per User?

Do you really need to call get_queue_by_name more than once per User?
We call it once per user, per iteration. My understanding is that each user context is per user, per iteration, so it seems unavoidable unless I'm missing something about the user lifecycles. Otherwise we'd fall foul of the point I'm about to move on to....
We might be on to something thanks to your earlier point around re-using SQS. Previously we were creating one instance sqs = boto3.resource('sqs') and then re-using it, each user making it's own get_queue_by_name call using it. I've updated so that each time SQS is used, a new SQS resource is created; this time I've run for 12 hours steadily until I hit my own test timeout (15 users got stuck in cleanup, but I'm not too concerned, the timeout is a failsafe). I need to verify this some more, but hopefully is the answer
If there's a capability in the user lifecycle that would allow us to create an SQS resource and get the queue once per user, per test run, that would be far more efficient, but I'm not seeing how that would be achieved.

We call it once per user, per iteration. My understanding is that each user context is per user, per iteration, so it seems unavoidable unless I'm missing something about the user lifecycles. Otherwise we'd fall foul of the point I'm about to move on to....

The User object lives on after a task has finished, it doesnt go away until you ramp down or stop the test.
Put the sqs object (and optionally also the queue object) on the user and reuse it as you like. Something like:
class MyUser(HttpUser):
   sqs = None
   queue = None

    @task
    def t(self):
        if self.sqs is None:
            self.sqs = boto3.resource('sqs')
            self.queue = ...
        # do your normal stuff

(you could also use the on_start-method to avoid the none-check on each task iteration, but its not really needed)


nixos/prometheus-nut-exporter: use extraFlags, add nutVariables option

Description of changes

Two changes to the Prometheus exporter for NUT:

Include extra flags from the extraFlags option that all exporters get
Add a nutVariables option that passes the --nut.vars_enable flag

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3521


instruments/delay: Port instrument to WA3

Port the delay instrument to WA3.
Please note the fixed_before_start and temperature_before_start
parameters have been removed and all delays are implemented to wait
after setup has been completed and before performing the workload
execution.

Please note the fixed_before_start and temperature_before_start
parameters have been removed and all delays are implemented to wait
after setup has been completed and before performing the workload
execution.

Why?

Updated and remove additional commit


manage.py migrate hází chybu

Ahoj,
manage.py mi hází:
"  main_url = forms.URLField(_('Main URL'))
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/forms/fields.py", line 233, in __init__
    self.validators.append(validators.MaxLengthValidator(int(max_length)))
TypeError: int() argument must be a string, a bytes-like object or a number, not '__proxy__'"

nemá to nějakou souvislost s: https://github.com/WebArchivCZ/Seeder/commit/215dc03eaf89a40a07b227424abd2e4b6a018e3c ?
(seeder) [rudolf@seeder Seeder]$ ./manage.py migrate
Traceback (most recent call last):
  File "./manage.py", line 17, in <module>
    execute_from_command_line(sys.argv)
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/core/management/__init__.py", line 345, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/core/management/base.py", line 348, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/raven/contrib/django/management/__init__.py", line 41, in new_execute
    return original_func(self, *args, **kwargs)
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/core/management/base.py", line 398, in execute
    self.check()
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/core/management/base.py", line 426, in check
    include_deployment_checks=include_deployment_checks,
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/core/checks/registry.py", line 75, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/core/checks/urls.py", line 13, in check_url_config
    return check_resolver(resolver)
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/core/checks/urls.py", line 23, in check_resolver
    for pattern in resolver.url_patterns:
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/core/urlresolvers.py", line 417, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/core/urlresolvers.py", line 410, in urlconf_module
    return import_module(self.urlconf_name)
  File "/opt/virtualenv/seeder/lib64/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1471, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "/opt/Seeder/Seeder/urls.py", line 11, in <module>
    from source import views as source_views
  File "/opt/Seeder/Seeder/source/views.py", line 18, in <module>
    from . import forms, models, tables, field_filters
  File "/opt/Seeder/Seeder/source/forms.py", line 11, in <module>
    class SourceForm(forms.ModelForm):
  File "/opt/Seeder/Seeder/source/forms.py", line 20, in SourceForm
    main_url = forms.URLField(_('Main URL'))
  File "/opt/virtualenv/seeder/lib/python3.4/site-packages/django/forms/fields.py", line 233, in __init__
    self.validators.append(validators.MaxLengthValidator(int(max_length)))
TypeError: int() argument must be a string, a bytes-like object or a number, not '__proxy__'

Proverim...


Fix reader_dispatch not yielding anything

data_dir has to be passed as a keyword argument since #65 changed the order of arguments in the reader functions
fixes #67

Thanks @hofaflo! I think this warrants a hotfix release, could you push v4.0.1 please?


Extractor Attachments send more than their destination can handle, spilling everything out onto the ground

https://user-images.githubusercontent.com/15698722/107132041-6cd73a80-68a1-11eb-9802-576d94b5c478.mp4
This is using refinedpipes-0.5

Duplicate of #5


not able to run BM25 retriever

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
    doc_list_1 = [
"I like apples",
"I like oranges",
"Apples and oranges are fruits",

]
    ret2 = BM25Retriever.from_texts(
doc_list_1, metadatas=[{"source": 1}] * len(doc_list_1)

)
    retriever = EnsembleRetriever(
retrievers=[ret2, retriever], weights=[0.5, 0.5]

)
Error Message and Stack Trace (if applicable)
No response
Description
i am trying to use ensemble retriever containing bm25 and opensearch
i am getting the below error :-
"1 validation error for Document\npage_content\n  str type expected (type=type_error.str)"
System Info
langchain==0.1.0
langchain-community==0.0.9
langchain-core==0.1.7
langchainhub==0.1.14

@sampratha28 if you want help remember to include a minimal reproducible example with a full stack trace.


nzTabLink: tab query sometimes not changed when click

Reproduction link
https://github.com/NG-ZORRO/ng-zorro-antd
Steps to reproduce
https://ng.ant.design/components/tabs/zh?tab=four
反复点击其中两个tab, 观察url的query部分
What is expected?
query每次都都跟着变化
What is actually happening?
有时候query没有跟着变化

Environment
Info

ng-zorro-antd
10.0.2

Browser
chrome

#5857

The solution is in #5857.


Feature Request: Citing of chapters within books with crossref

This issue:

Describes the current behaviour when citing a chapter within a book.
Provides two possible "workarounds".
Details what the "correct" behaviour should be.

Current Behaviour
Sometimes I need to cite a particular chapter within a book. The bibtex that I obtain from the author's personal website often looks something like this (references.bib):
@incollection{ChapterNineTestKey,
  author    = {Joe Blogs},
  title     = {The Interesting Chapter Title},
  chapter   = {9},
  pages     = {100--207},
  crossref  = {BookKey}
}
@incollection{ChapterTenTestKey,
  author    = {Joe Blogs},
  title     = {Another Interesting Chapter Title},
  chapter   = {10},
  pages     = {208--301},
  crossref  = {BookKey}
}
@book{BookKey,
  title     = {The Best Book Title},
  editor    = {John Mann and Peter Person},
  publisher = {Some University Press},
  year      = {1997}
}

There is one @book and multiple @incollection with crossrefs to that book. (This might not be the best way to cite a chapter when using biblatex and biber, but these are the kind of bibtex entries that people distribute on their personal webpages.)
Given a tex document such as
\documentclass{article}
\usepackage[backend=biber,style=trad-alpha]{biblatex}
\addbibresource{references.bib}
\begin{document}
\cite{ChapterNineTestKey}
\printbibliography
\end{document}

the biblograph is then printed as:

Note that the title of the book is missing.
As it stands, there are two workarounds for this:
Workaround 1
Change @incollection to @inbook since we are using biblatex.
This results in the following output:

Workaround 2
Keep the references.bib file unchanged as at the begining of this issue, and in the preamble, add the following lines:
\DeclareDataInheritance{book}{incollection}{%
  \inherit{title}{booktitle}
  \inherit{subtitle}{booksubtitle}
  \inherit{titleaddon}{booktitleaddon}
  \noinherit{shorttitle}
  \noinherit{sorttitle}
  \noinherit{indextitle}
  \noinherit{indexsorttitle}
}

This results in the following output:

This post from the TeX Stack Exchange says that the above \DeclareDataInheritance was added this the  biblatex-chicago package to handle cases such as this one.
Note that the outputs from Workaround 1 and Workaround 2 both now correctly include the title of the book as well as the title of the chapter, but the formatting is different in both cases.
Expected Output
We compare the output with bibtex alpha. Take the references.bib file at the begining of this issue, and replace the @book entry with the following:
@book{BookKey,
  title     = {The Best Book Title},
  booktitle = {The Best Book Title},
  editor    = {John Mann and Peter Person},
  publisher = {Some University Press},
  year      = {1997}
}

Note that we have to duplicate the title into booktitle. This is the correct thing to do to get fields to be inherited according to the bibtex manual. Remember that entries used in crossrefs have to appear after the crossref mention (e.g. at the end of the file).
With the input file:
\documentclass{article}
\begin{document}
\bibliographystyle{alpha}
\cite{ChapterNineTestKey}
\bibliography{references}
\end{document}

We get the following output:

We can see this corresponds to Workaround 2 given above.
Therefore, would it be possible to include "Workaround 2" as part of the style, since this was the decision taken by biblatex-chicargo.
The behaviours that I found in the above examples were somewhat unexpected (although not a 'bug' per se)... and it would be good to have some helpful defaults.

Mhhhh.
'Workaround 1' is semantically unsound we are indeed talking about a collection and not a monograph.
So I would like to offer Workaround 3
Use @collection instead of @book. This works in this example, but might not work if you cite BookKey directly, since biblatex-trad does not support @collections at the moment.
I'm not really keen on going for 'workaround 2'.
I appreciate that the output with the original BibTeX styles is as expected even without any workarounds, but I would much rather not provide fixes for BibTeX behaviour that is not compatible or at odds with the way biblatex does things. This is already documented for field names

Since the styles are based on biblatex standard styles, the fields retain the meaning they
have in biblatex even if that may be at odds with how the traditional .bst files handle
those fields.

If you feel this is a major deal breaker I might have to reconsider this.
I took over maintenance of this style when it became necessary to change a few bits for biblatex >= 3.3. So I'm not entirely sure about the exact design decisions that this project is based on.
I have thought for quite a while that it would be a good idea to re-implement the styles using some of the new features that have come available over the time. Trying to gingerly modernise the old code does not seem to be working awfully well. But then again on the detail level there are quite some differences between biblatex and BibTeX and decisions need to be taken on whether to go with the (often cleaner) biblatex way or go for full emulation of the BibTeX styles. Interest in the styles don't seem to be too high, so I never got around to it.

I do not have enough experience to really be sure what the best solution is, but I will comment that:

The current default behaviour meant that I had an erroneous bibliography and I didn't realise until I scrutinised the output manually (I didn't get any warnings etc.)
I would very much like to keep using @book since (in my actual usage) it really is a book that is printed and that you can buy, and I might cite the entire book somewhere.

Mhhh.
Ad 1. With the setup from the MWE you will get erroneous bibliography entries in all biblatex standard styles and all custom styles that do not take the precautions biblatex-chicago is taking (and I have the suspicion that biblatex-chicago is the only style doing that). You can run Biber with the --validate-datamodel flag to check for entries that are missing fields. In that case a warning is issued.
Ad 2. A @collection is also an actual book you can buy. The only difference in semantic between the two is that a @book is written in its entirety by the same set of authors and is associated with its authors, while a @collection is a, well ..., collection or articles, essays, chapters, ... contributed by different authors, the entire work is associated with its editors.
The only problem at the moment with @collection is that biblatex-trad probably does the wrong thing for it and that BibTeX styles in general normally don't support that type.
That brings us back to the all important question.
Should biblatex-trad keep the underlying data model, entry types and field names of biblatex, or should it try to emulate the largely compatible but subtly different BibTeX data model of entry types and fields exactly at the cost of giving up principles of the biblatex data model?
At the moment my stance towards this question is as follows: biblatex-trad should emulate the traditional styles as closely as possible, but it should not do that in a way that is at odds with the general data model of biblatex. For one biblatex-trad is a collection of biblatex styles and as such I would expect it to be compatible and comparable to other biblatex styles. If biblatex-trad changes the meaning of certain entry types and fields to comply with the .bst styles it becomes "incompatible" with all other biblatex styles, so the change from style=trad-plain to style=numeric might cause fields to change meaning (essentially requiring changes in the .bib file for proper output). Secondly, I feel that people that use biblatex-trad actually want to use the biblatex data model and enjoy its new features and possibilities; if the wanted to stick the data model of BibTeX they would probably keep using the .bst styles.
Take one example. In biblatex there are the fields maintitle+volume and series+number. maintitle+volume are for volumes of one multi-volume set of books (by the same set of authors), e.g. https://en.wikipedia.org/wiki/Computers_and_Typesetting, or multi-volume collected works, .... But series+number are for book series with many books often by different authors overseen by series editors, e.g. https://www.cambridge.org/core/series/cambridge-series-in-statistical-and-probabilistic-mathematics/8278B98D68B759B9185B2C6E6611A054.
Now the traditional BibTeX styles don't have a maintitle field, series is used for that purpose as well. They differentiate between multi-volume books and series by checking for the presence of volume and number. So the equivalent combinations to biblatex's  maintitle+volume and series+number are series+volume and series+number (If both volume and number are present precedence is given to the series+volume pairing.).
You see that a .bib file that wants to refer to a volume of a multi-volume work must use the fields specific to the underlying data model, either maintitle+volume for biblatex or series+volume for BibTeX. Using the other approach will lead to undesired output. In that case again I would argue that biblatex-trad should behave like all other biblatex styles instead of emulating the biblatex-incompatible behaviour of BibTeX. For the simple reason that people using a traditional BibTeX style at the moment and who don't want to change their .bib files at all have no real incentive to switch to biblatex anyway. I see the user base of biblatex-trad (if there is any) as users who would like to use some of the new biblatex features - to which the biblatex data model is vital -, but have grown to like the bibliography styles of BibTeX or are required to present a document that almost looks like it used these styles. I appreciate that at the moment biblatex-trad mimics the BibTeX behaviour with regards to this example and is thus at odds with all other biblatex styles. But as I say, that was not my decision to make.

Thank you for your detailed and thoughtful reply.
I do particularly agree with your comment that “biblatex-trad should emulate the traditional styles as closely as possible, but it should not do that in a way that is at odds with the general data model of biblatex”.
If nothing else, then at least this serves as an example of my typical usage of the package.


Hi i have a question !

Your research is very impressive. I wonder why you use the following code!
nn.Parameter((1/self.seq_len)*torch.ones([self.pred_len,self.seq_len]))
Why use the nn.parameter in linear module?
And why factor of nn.parameter (1/self.seq_len)*torch.ones([self.pred_len,self.I wonder if it is set to seq_len].
Thank you!

To obtain a smooth weight with a clear pattern in visualization, we initialize the weights of the linear layers in DLinear as 1/L rather than random initialization. That is, we use the same weight for every forecasting time step in the look-back window at the start of training.


Issue with Iris 3210-L power usage measurement in zigbee-herdsman

Hello and thanks for this awesome project!
I'm starting from scratch (migrating my Zigbee devices from SmartThings) and decided to start with zigbee-herdsman (using zigbee2mqtt dev branch) so I could help test the upcoming update.
I paired an Iris 3210-L smart plug, and on/off works fine. However, power consumption is not reported. There are no errors or other messages in the debug output of zigbee2mqtt, so I'm guessing that power consumption isn't being configured correctly... it looks like fewer options are passed in the new version, but I'm in very unfamiliar territory.
Here's the original configure method from zigbee-shepherd-converters (I can only assume that this worked):
configure: (ieeeAddr, shepherd, coordinator, callback) => {
    const device = shepherd.find(ieeeAddr, 1);
    const actions = [
        (cb) => device.report('haElectricalMeasurement', 'activePower', 10, 1000, 1, cb),
    ];

    execute(device, actions, callback);
},

Here's the new configure method in zigbee-herdsman-converters:
configure: async (device, coordinatorEndpoint) => {
    const endpoint = device.getEndpoint(1);
    await configureReporting.activePower(endpoint);
},

In case it's useful, here's how power consumption is configured in the SmartThings device handler I was using:
//power config for devices with min reporting interval as 1 seconds and reporting interval if no activity as 10min (600s)
//min change in value is 01
def powerConfig() {
	[
		"zdo bind 0x${device.deviceNetworkId} 1 ${endpointId} 0x0B04 {${device.zigbeeId}} {}", "delay 200",
		"zcl global send-me-a-report 0x0B04 0x050B 0x29 ${intervalMin ?: 5} ${intervalMax ?: 600} {05 00}",				//The send-me-a-report is custom to the attribute type for CentraLite
		"send 0x${device.deviceNetworkId} 1 ${endpointId}", "delay 500"
	]
}

If you have any suggestions or can lead me in a direction to test some things, I'd be happy to try some changes and make a PR if it works out. Alternatively, if it is not the right time in the zigbee2mqtt/zigbee-herdsman update process, please let me know and I'll go away until the timing is more appropriate :)
EDIT:

I'm using Home Assistant MQTT discovery
No sensor is created in HA for reporting power consumption (there is a switch for on/off, and a sensor for link quality)

Can you share your database.db?

{
	"id": 1,
	"type": "Coordinator",
	"ieeeAddr": "0x00124b00015a7695",
	"nwkAddr": 0,
	"manufId": 0,
	"epList": [1, 2, 3, 4, 5, 6, 8, 11],
	"endpoints": {
		"1": {
			"profId": 260,
			"epId": 1,
			"devId": 5,
			"inClusterList": [],
			"outClusterList": [],
			"clusters": {},
			"binds": []
		},
		"2": {
			"profId": 257,
			"epId": 2,
			"devId": 5,
			"inClusterList": [],
			"outClusterList": [],
			"clusters": {},
			"binds": []
		},
		"3": {
			"profId": 261,
			"epId": 3,
			"devId": 5,
			"inClusterList": [],
			"outClusterList": [],
			"clusters": {},
			"binds": []
		},
		"4": {
			"profId": 263,
			"epId": 4,
			"devId": 5,
			"inClusterList": [],
			"outClusterList": [],
			"clusters": {},
			"binds": []
		},
		"5": {
			"profId": 264,
			"epId": 5,
			"devId": 5,
			"inClusterList": [],
			"outClusterList": [],
			"clusters": {},
			"binds": []
		},
		"6": {
			"profId": 265,
			"epId": 6,
			"devId": 5,
			"inClusterList": [],
			"outClusterList": [],
			"clusters": {},
			"binds": []
		},
		"8": {
			"profId": 260,
			"epId": 8,
			"devId": 5,
			"inClusterList": [],
			"outClusterList": [],
			"clusters": {},
			"binds": []
		},
		"11": {
			"profId": 260,
			"epId": 11,
			"devId": 1024,
			"inClusterList": [],
			"outClusterList": [1280],
			"clusters": {},
			"binds": []
		}
	},
	"interviewCompleted": false,
	"meta": {}
} {
	"id": 2,
	"type": "Router",
	"ieeeAddr": "0x000d6f000a935c2d",
	"nwkAddr": 16450,
	"manufId": 4174,
	"manufName": "CentraLite",
	"powerSource": "Mains (single phase)",
	"modelId": "3210-L",
	"epList": [1],
	"endpoints": {
		"1": {
			"profId": 260,
			"epId": 1,
			"devId": 256,
			"inClusterList": [0, 3, 4, 5, 6, 2820, 2821, 64515],
			"outClusterList": [25],
			"clusters": {
				"genBasic": {
					"attributes": {
						"modelId": "3210-L",
						"manufacturerName": "CentraLite",
						"powerSource": 1,
						"zclVersion": 1,
						"stackVersion": 2,
						"hwVersion": 3,
						"dateCode": "����������������"
					}
				}
			},
			"binds": []
		}
	},
	"stackVersion": 2,
	"hwVersion": 3,
	"dateCode": "����������������",
	"zclVersion": 1,
	"interviewCompleted": true,
	"meta": {
		"configured": 1
	}
}

Can you try with
    {
        zigbeeModel: ['3210-L'],
        model: '3210-L',
        vendor: 'Iris',
        description: 'Smart plug',
        supports: 'on/off',
        fromZigbee: [fz.state, fz.iris_3210L_power],
        toZigbee: [tz.on_off],
        meta: {configureKey: 1},
        configure: async (device, coordinatorEndpoint) => {
            const endpoint = device.getEndpoint(1);
            await bind(endpoint, coordinatorEndpoint, ['haElectricalMeasurement']);
            await configureReporting.activePower(endpoint);
        },
    },

After changing the code and unpairing and repairing, power reporting is working! Thanks :)
Power reported is showing up as an attribute of the linkquality sensor. Is that expected, or should it be a separate sensor (or part of the main power switch)?

Should be a separate sensor, change https://github.com/Koenkk/zigbee2mqtt/blob/dev/lib/extension/homeassistant.js#L536 to '3210-L': [cfg.switch, cfg.sensor_power], and it will work; Do you mind making a pr for these changes? Then this can be closed.

I'd be happy to make PRs. There's one last thing on this device that isn't working: if I use the physical button on the device to toggle the switch state (OFF or ON), nothing is reported to HA. For example, if I turn the plug on in HA and then off using the button on the plug itself, HA still shows it as on (and I have to toggle it OFF and then back ON in HA to turn it on). To me, this is only a minor issue.

Can you try with
    {
        zigbeeModel: ['3210-L'],
        model: '3210-L',
        vendor: 'Iris',
        description: 'Smart plug',
        supports: 'on/off',
        fromZigbee: [fz.state, fz.iris_3210L_power],
        toZigbee: [tz.on_off],
        meta: {configureKey: 2},
        configure: async (device, coordinatorEndpoint) => {
            const endpoint = device.getEndpoint(1);
            await bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement']);
            await configureReporting.onOff(endpoint);
            await configureReporting.activePower(endpoint);
        },
    },

That works! Thank you so much for your quick responses. PRs will be on their way shortly!

merged!


”Petru Rareș”, ”Radu Vodă”, ”Valea Bujorului” are listed in the drop-down menu

Description:
When user writes ”Petru Rareș”, ”Radu Vodă”, ”Valea Bujorului” the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Petru Rareș"

Expected results
The location appears in the drop-down menu as "Sat Petru Rareș, GIURGIU (Izvoarele)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Radu Vodă"

Expected results
The location appears in the drop-down menu as "Sat Radu Vodă, GIURGIU (Izvoarele)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Valea Bujorului"

Expected results
The location appears in the drop-down menu as "Sat Valea Bujorului, GIURGIU (Izvoarele)".


Plans to update?

As this hasn't been updated in  8 months do you plan to update this to later mc versions?

Of course, I'm going to update this mod and other projects. However, I have very little time. I will try to do everything this week.

Many thanks for getting back to me so soon. I completely understand as time is something of a luxury for me too. I'm just considering what mods to use on a server I'm working on at a moment. As you can understand I didn't want to add something that wasn't getting updated any more. Thankyou for your reply.


feat(api): Add Join Group Request logic and modify request model

Too many files updated. Please create a new branch to append the changes


Fix detection of the act if the loaded resource can be a JSDOM template

Previous regexp has an unescaped dot at the beginning (/.(js|ts)x?$/i) and this regexp matched against files .ejs, that are actually html.

@googlebot I signed it!

Great find!


feat: support search on Marketplace

Closes https://github.com/apache/skywalking/issues/11616
Video
https://github.com/apache/skywalking-booster-ui/assets/20871783/799db66b-ceb0-4c14-b79d-cb9d15283806
Signed-off-by: Qiuxia Fan<EMAIL_ADDRESS>

Is this going to filter second-level menu as well?

Is this going to filter second-level menu as well?

Currently, it supports this.
https://github.com/apache/skywalking-booster-ui/assets/20871783/6d29201c-5a88-4f22-9363-b6673daaca2f


Week 19 Review Ticket Hacks

[x] Create Performance Task Scoring Set 3 (Blog)
[x] Link to API/Control Video (Postman Stuff)

[x] Uses GET, DELETE, and POST requests
[x] Changes reflected in both Postman and flask web application
[x] Creates, reads, and deletes entry

[x] Link to Database/Model (Sqlite Table, Adding Rows)

[x] Sqlite extensions used to make updates (viewer)
[x] Changes in what is seen reflected in both the sqlite.db file and the flask application
[x] All three attributes/columns (_name, _date, _desc) match when comparing application to table

[x] Video Explanation/Reflection (Blog)

[x] Recaps criteria
[x] Challenges/problems I faced
[x] Talks about how I went about solving/overcoming them

1 API
1 DB
1 CPT


snowpack dev clears relevant info from screen

Original Discussion: https://www.pika.dev/npm/snowpack/discuss/351
/cc @ggascoigne @drwpow
If you experience warnings during an dependency installation as a part of dev, those will be cleared almost instantly as the dev command moves on to show the main dev dashboard.
Ideas

Display dependency installs as a part of the main dashboard. We already do this as a part of reinstallDependencies(), so we would only need to update the "first run" install to use this same logic, and make sure that nothing was cleared automatically after it runs.
Capture all process.stdout/process.stderr output during the installation, and re-print it on the dashboard once the dashboard is initialized for the first time.

Just merged a PR that should fix this. But rather than close this issue, I’d rather leave it open and confirm this is resolved with the user that raised it with the original scenario (if possible)

One nice thing about the discussion board / issue tracker separation is that you can close the issue now once it's been addressed by us, but leave the pika.dev discussion open for follow-up. That's my personal preference, but I don't feel strongly either way.

That’s fair—I can pop back into the discussion and we can open up another issue. That way this unit of work is tracked.


Feature/benchmarking

Mask account_id in SDK query logs

Improve metrics collector. Documentation for metrics collector is provided in the package source files, hope it is clear enough!

Why not use something that already exists?

I'm actually using prometheus and its libraries. This code is to decouple main logic from those libraries so they can be replaced with something entirely else in the future, like new relic or metabase.


url_checker

free-programming-books-de.md
free-programming-books-pt_BR.md

[x] 500 read timeout http://www.k19.com.br/downloads/apostilas/java/k19-k41-desenvolvimento-mobile-com-android
[x] 500 read timeout http://www.k19.com.br/downloads/apostilas/dotnet/k19-k31-csharp-e-orientacao-a-objetos
[x] 500 read timeout http://www.k19.com.br/downloads/apostilas/dotnet/k19-k32-desenvolvimento-web-com-aspnet-mvc
[x] 500 read timeout http://www.k19.com.br/downloads/apostilas/java/k19-k22-desenvolvimento-web-avancado-com-jsf2-ejb3.1-e-cdi
[x] 500 read timeout http://www.k19.com.br/downloads/apostilas/java/k19-k12-desenvolvimento-web-com-jsf2-e-jpa2
[x] 500 read timeout http://www.k19.com.br/downloads/apostilas/java/k19-k52-desenvolvimento-web-com-struts
[x] 500 read timeout http://www.k19.com.br/downloads/apostilas/java/k19-k51-design-patterns-em-java
[x] 500 read timeout http://www.k19.com.br/downloads/apostilas/java/k19-k23-integracao-de-sistemas-com-webservices-jms-e-ejb
[x] 500 read timeout http://www.k19.com.br/downloads/apostilas/java/k19-k11-orientacao-a-objetos-em-java
[x] 500 read timeout http://www.k19.com.br/downloads/apostilas/java/k19-k21-persistencia-com-jpa2-e-hibernate
[ ] 500 Can't connect to www.telecom.uff.br:443 (timeout) https://www.telecom.uff.br/pet/petws/downloads/apostilas/LINUX.pdf

javascript-frameworks-resources-pt_BR.md

[x] 404 Not Found http://tableless.com.br/code/javascript/jquery/

free-programming-books-ru.md

[ ] 404 Not Found https://ru.wikibooks.org/wiki/�
[ ] 404 Not Found http://ru.wikibooks.org/wiki/�
[ ] 404 Not Found http://ru.wikibooks.org/wiki/�
[x] 404 Not Found http://motivateme.ru/book/
[ ] 404 Not Found http://ru.wikibooks.org/wiki/�

free-programming-books-bg.md
free-programming-books.md

[ ] 500 Can't connect to gimp-savvy.com:80 http://gimp-savvy.com/BOOK/index.html
[ ] 404 Not Found http://webdocs.cs.ualberta.ca/~sutton/book/ebook/the-book.html
[ ] 404 Not Found http://www-stat.stanford.edu/~tibs/ElemStatLearn/
[ ] 500 Can't connect to compalg.inf.elte.hu:80 http://compalg.inf.elte.hu/~tony/Oktatas/TDK/FINAL/
[ ] 404 Not Found http://www.math.cornell.edu/~bterrell/dn.pdf
[x] 500 Can't connect to www.jackkinsella.ie:443 https://www.jackkinsella.ie/books/confessions_of_an_unintentional_cto
[ ] 404 Not Found http://www.amibug.com/iamabug/p01.html
[ ] 404 Not Found https://courses.engr.illinois.edu/ece390/books/artofasm/artofasm.html
[ ] 500 Can't connect to ee.hawaii.edu:80 http://ee.hawaii.edu/~tep/EE160/Book/PDF/
[ ] 522 Origin Connection Time-out http://rypress.com/tutorials/git
[ ] 503 Service Unavailable http://go-book.appspot.com
[ ] 404 Not Found http://njbartlett.name/osgibook.html
[ ] 404 Not Found http://www.j-paine.org/prolog/mathnotes/files/pms/pms.html
[ ] 404 Not Found http://health.adelaide.edu.au/psychology/ccs/teaching/lsr
[ ] 403 Forbidden http://www.cs.berkeley.edu/~bh/ss-toc2.html
[ ] 500 Can't connect to info-ee.eps.surrey.ac.ukTeaching:443 (Bad hostname) http://www.ee.surrey.ac.uk/Teaching/Unix/

free-programming-books-fa_IR.md
free-podcasts-screencasts-pt_BR.md
free-programming-books-hu.md

[ ] 404 Not Found http://blog.molnardenes.hu/python-programozas-1-alapfogalmak/

free-programming-books-ja.md

[ ] 404 Not Found https://developer.apple.com/jp/devcenter/ios/library/documentation/OpenGLES_ProgrammingGuide.pdf
[ ] 404 Not Found http://www.oki-osk.jp/esc/groovy/
[ ] 404 Not Found http://www.fos.kuis.kyoto-u.ac.jp/~t-sekiym/classes/isle4/mltext/ocaml.html
[ ] 404 Not Found http://download.bnn.co.jp/download/beyond_interaction/BNN_BeyondInteraction.pdf

free-programming-books-cs.md
free-programming-books-ko.md
free-programming-books-ua.md

[ ] 404 Not Found https://uk.wikibooks.org/wiki/�

free-programming-books-fr.md

[ ] 404 NOT FOUND https://zestedesavoir.com/tutoriels/755/le-langage-c-1/
[ ] 404 Not Found http://math.univ-lyon1.fr/irem/IMG/pdf/LatexPourProfMaths3.pdf

free-podcasts-screencasts-se.md
free-programming-books-se.md
free-programming-books-tr.md

[x] 404 Not Found http://kodcu.com/java-8-ebook/
[x] 404 Not Found http://iam.metu.edu.tr/sites/iam.metu.edu.tr/files/UYGULAMALI MATEMAT_Kriptolojiye giris ders notları.pdf
[x] 500 Can't connect to belgeler.istihza.com:80 http://belgeler.istihza.com/py3/

free-courses-en.md

[ ] 404 OK https://courses.platzi.com/courses/git-gitlab/
[ ] 404 Not Found https://www.learnhowtoprogram.com/java

javascript-frameworks-resources.md
free-programming-books-mm.md
free-programming-books-pt_PT.md
free-podcasts-screencasts-ru.md
free-programming-books-it.md
free-programming-books-gr.md
free-podcasts-screencasts-en.md

[ ] 500 Can't connect to leveluptuts.com:80 http://leveluptuts.com/tutorials/learning-gulp
[ ] 522 Origin Connection Time-out http://reactpodcast.com

free-programming-books-es.md

[ ] 404 Not Found http://www.colegiodrriodelaloza.edu.mx/informatica/Analisis Diseno e Implementacion de Algoritmos/17470106-BASES-de-DATOS-3-El-Modelo-Relacional-y-Algebra-Relacional.pdf

free-programming-books-ar.md

[ ] 500 Internal Server Error http://librebooks.org/simply-arduino/
[ ] 500 Internal Server Error http://librebooks.org/simply-ubuntu/
[ ] 500 Internal Server Error http://librebooks.org/gnu-linux-advanced-administration/
[ ] 500 Internal Server Error http://librebooks.org/debian-handbook-arabic/
[ ] 500 Internal Server Error http://librebooks.org/ubuntu-server-guide-arabic/
[ ] 500 Internal Server Error http://librebooks.org/strategic-dimensions-of-free-and-open-source-software/
[ ] 500 Internal Server Error http://librebooks.org/digital-freedoms-main-concepts/
[ ] 500 Internal Server Error http://librebooks.org/opensource-ultimate-options/
[ ] 500 Internal Server Error http://librebooks.org/know-free-software/
[ ] 500 Internal Server Error http://librebooks.org/free-opensource-guide/
[ ] 500 Internal Server Error http://librebooks.org/bref-about-foss-licenses/
[ ] 500 Internal Server Error http://librebooks.org/intro-to-os-analysis-and-design/
[ ] 500 Internal Server Error http://librebooks.org/learn-programming-with-php/
[ ] 500 Internal Server Error http://librebooks.org/simply-raspberry-pi/
[ ] 500 Internal Server Error http://librebooks.org/intro-to-ruby/
[ ] 500 Internal Server Error http://librebooks.org/secure-wireless-networks-for-home-users/
[ ] 500 Internal Server Error http://librebooks.org/physical-hacking-techniques/
[ ] 500 Internal Server Error http://librebooks.org/security-in-a-box/
[ ] 500 Internal Server Error http://librebooks.org/search-engine-optimization-seo-starter-guide-ar/

free-programming-books-ro.md
free-programming-books-az.md
free-programming-books-zh.md

[ ] 502 Bad Gateway http://www.gruntjs.net
[ ] 404 Not Found https://github.com/Flowerowl/Big-Data-Resources
[ ] 404 Not Found http://typeof.net/s/jsmech/
[ ] 500 Can't connect to reactjs.cn:80 http://reactjs.cn
[ ] 404 Not Found http://learningcn.com/underscore/

free-podcasts-screencasts-cs.md
free-programming-interactive-tutorials-en.md
free-programming-playgrounds.md

[ ] 302 Found http://cssdesk.com

problem-sets-competitive-programming.md
free-programming-books-fi.md
free-programming-books-pl.md

[ ] 500 Can't connect to stallman.helion.pl:80 http://stallman.helion.pl

free-programming-books-sk.md
free-programming-books-id.md

[ ] 403 Forbidden http://www.ilmuwebsite.com/ebook-php-free-download

I sent a pull request for;

free-programming-books-tr.md
500 Can't connect to belgeler.istihza.com:80 http://belgeler.istihza.com/py3/

Hmmm, still many links unfixed; I didn't realize I closed the issue

bad links in -tr addressed by #2530

yes sorry i will chip away at this over time, others can feel free to create pull requests to help out as outlined here: https://github.com/EbookFoundation/free-programming-books/wiki/Other-ways-to-help-(broken-url-cleanup)

maybe rerun the checker and open a new issue?

sure ok we can close this and then when i rerun url_checker i will create new ticket

closing in favor of #2541

Time to run link checker again?

sorry for delay, will do by EOD!
On Wed, May 2, 2018 at 7:05 AM, eshellman<EMAIL_ADDRESS>wrote:

Time to run link checker again?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/EbookFoundation/free-programming-books/issues/2500#issuecomment-385988375,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4sLBoij6m3hqRncWRKWNNrjDRZ1Io1ks5tub0zgaJpZM4OuLc5
.


default 15d → 30d

I want to make sure we don't lose the start of this graph while we're still investigating the capacity issues:

ad hoc deploying on dev to test the command works

Working on dev, merging and deploying.


Rancher Kubernetes cluster doesn't detect the node failure

When I shutdown host, in UI it becomes in state Reconnecting, but kubectl shows
NAME          STATUS    AGE
rancherkub1   Ready     1d
rancherkub2   Ready     1d
when rancherkub2 is down. As a result kubernetes doesn't reschedule containers that were running on this host.

Useful
Info

Versions
Rancher v1.1.1 Cattle: v0.165.7 UI: v1.1.12

Access
localauth admin

Orchestration
Kubernetes

Route
hosts.index

I'm unable to reproduce on v1.1.2.
> kubectl get nodes
NAME                 STATUS     AGE
denise-k8stesting1   NotReady   10h
denise-k8stesting2   Ready      10h
denise-k8stesting3   Ready      10h

Can you go to the System stack in Kubernetes and share what image tag the kubernetes service is running? This would help me know what template you are running on kubernetes.

I also was able to reproduce on 2.0-pre1. Here is screenshot:

Perhaps you need to test with 2 nodes (not 3)

@rooty123 How did you get Kubernetes to be running v1.3? This version of Kubernetes is not supported in Rancher v1.1.x series.
I can tell it's running v1.3 with the image being rancher/k8s:v1.3.0-rancher3

@deniseschannon I just use latest 1.2.0-pre release, which supports upgrade to 1.3

hey @rooty123 can you check with a more modern version of rancher server? If you hit it again, please do reopen or file a new issue.


The mnist notebook tests are not reporting results to test grid

Split off from #42
#63 added the notebook tests. The Tekton workflows are being fired off
https://k8s-testgrid.appspot.com/sig-big-data#kubeflow-gcp-blueprints-master-periodic
https://kf-ci-v1.endpoints.kubeflow-ci.cloud.goog/tekton/#/namespaces/kf-ci/pipelineruns/mnist-22vjq
The copy buckets step is failing though and that is causing the task to abort before running the step to copy the test artifacts

https://kf-ci-v1.endpoints.kubeflow-ci.cloud.goog/tekton/#/namespaces/kf-ci/pipelineruns/mnist-wc6fq
copy-artifacts is failing

Error is:
Error while finding module specification for 'kubeflow.testing.tekton_client' (ModuleNotFoundError: No module named 'kubeflow')

Python path is wrong
https://github.com/kubeflow/testing/blob/28a61500231cc14f26ac5ea64f17daac9f94f9ee/acm-repos/kf-ci-v1/namespaces/kf-ci/tekton.dev_v1alpha1_task_nb-tests.yaml#L97
Should be /srcCache

The latest run
https://prow.k8s.io/view/gcs/kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1278139102348185600
https://kf-ci-v1.endpoints.kubeflow-ci.cloud.goog/tekton/#/namespaces/kf-ci/pipelineruns/mnist-x7jtk
The copy buckets command ends up being
gsutil cp -r / gs://kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1278139102348185600

So there's a bug there.

Copy artifacts step is also failing
INFO|2020-07-01T01:37:51|/srcCache/kubeflow/testing/py/kubeflow/testing/tekton_client.py|391| Walking through directory: /workspace/artifacts
INFO|2020-07-01T01:37:51|/srcCache/kubeflow/testing/py/kubeflow/testing/tekton_client.py|400| Parsing JUNIT: junit_notebook.xml
ERROR|2020-07-01T01:37:51|/srcCache/kubeflow/testing/py/kubeflow/testing/tekton_client.py|411| pytest has failure: message not found

Logs for the papermill job
https://console.cloud.google.com/logs/viewer?project=kubeflow-ci-deployment&interval=P7D&advancedFilter=resource.type%3D"k8s_container"
labels."k8s-pod%2Fjob-name"+%3D+"mnist-gcp-013506-929"

Running the notebook fails with an import error
ImportError: cannot import name 'V1alpha2TensorRTSpec'

The path to upload the notebook to GCS doesn't look wrong and there is an exception trying to upload it
INFO|2020-07-01T01:36:08|Uploading notebook to gs://kubeflow-ci-deployment_ci-temp/mnist_test|/src/kubeflow/testing/py/kubeflow/testing/notebook_tests/execute_notebook.py|65|
Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/google/auth/compute_engine/credentials.py", line 96, in refresh self._retrieve_info(request) File "/usr/local/lib/python3.6/dist-packages/google/auth/compute_engine/credentials.py", line 77, in _retrieve_info request, service_account=self._service_account_email File "/usr/local/lib/python3.6/dist-packages/google/auth/compute_engine/_metadata.py", line 219, in get_service_account_info recursive=True, File "/usr/local/lib/python3.6/dist-packages/google/auth/compute_engine/_metadata.py", line 172, in get response, google.auth.exceptions.TransportError: ("Failed to retrieve http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true from the Google Compute Enginemetadata service. Status: 500 Response:\nb'Could not recursively fetch uri\\n'", <google.auth.transport.requests._Response object at 0x7f834cbd10f0>)

Latest run
https://k8s-testgrid.appspot.com/sig-big-data#kubeflow-gcp-blueprints-master-periodic&group-by-hierarchy-pattern=[\w-]%2B
https://kf-ci-v1.endpoints.kubeflow-ci.cloud.goog/tekton/#/namespaces/kf-ci/pipelineruns/mnist-f878t
Latest failure
ImportError: file_cache is unavailable when using oauth2client >= 4.0.0 or google-auth
INFO|2020-07-02T01:07:44|/usr/local/lib/python3.8/dist-packages/oauth2client/transport.py|157| Attempting refresh to obtain initial access_token
WARNING|2020-07-02T01:07:44|/usr/local/lib/python3.8/dist-packages/googleapiclient/http.py|123| Invalid JSON content from response: b'{\n  "error": {\n    "code": 403,\n    "message": "Required \\"container.clusters.list\\" permission(s) for \\"projects/get-credentials\\".",\n    "status": "PERMISSION_DENIED"\n  }\n}\n'
Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 192, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/srcCache/kubeflow/testing/py/kubeflow/testing/get_kf_testing_cluster.py", line 429, in <module>
    fire.Fire(CredentialHelper)
  File "/usr/local/lib/python3.8/dist-packages/fire/core.py", line 138, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/usr/local/lib/python3.8/dist-packages/fire/core.py", line 463, in _Fire
    component, remaining_args = _CallAndUpdateTrace(
  File "/usr/local/lib/python3.8/dist-packages/fire/core.py", line 672, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "/srcCache/kubeflow/testing/py/kubeflow/testing/get_kf_testing_cluster.py", line 379, in get_credentials
    c = _get_latest_cluster(project, location, pattern)
  File "/srcCache/kubeflow/testing/py/kubeflow/testing/get_kf_testing_cluster.py", line 235, in _get_latest_cluster
    for c in _iter_cluster(project, location):
  File "/srcCache/kubeflow/testing/py/kubeflow/testing/get_kf_testing_cluster.py", line 153, in _iter_cluster
    clusters = clusters_client.list(parent=parent).execute()
  File "/usr/local/lib/python3.8/dist-packages/googleapiclient/_helpers.py", line 134, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/googleapiclient/http.py", line 907, in execute
    raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://container.googleapis.com/v1/projects/get-credentials/locations/us-central1-c/clusters?alt=json returned "Required "container.clusters.list" permission(s) for "projects/get-credentials".">

Step failed

Here was the command executed
name: get-credential
args:
  - '-m'
  - kubeflow.testing.get_kf_testing_cluster
  - get-credentials
  - '--pattern=$(inputs.params.testing-cluster-pattern)'
  - '--location=$(inputs.params.testing-cluster-location)'
  - get-credentials
command:
  - python

So looks like a bug in the command.

Latest run
https://prow.k8s.io/view/gcs/kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1278686481346465793
https://kf-ci-v1.endpoints.kubeflow-ci.cloud.goog/tekton/#/namespaces/kf-ci/pipelineruns/mnist-np5kn
https://console.cloud.google.com/logs/viewer?project=kubeflow-ci-deployment&interval=P7D&advancedFilter=resource.type%3D"k8s_container"
labels."k8s-pod%2Fjob-name"+%3D+"mnist-gcp-135002-5cc"

Copying papermill output failed
Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/google/auth/compute_engine/credentials.py", line 96, in refresh self._retrieve_info(request) File "/usr/local/lib/python3.6/dist-packages/google/auth/compute_engine/credentials.py", line 77, in _retrieve_info request, service_account=self._service_account_email File "/usr/local/lib/python3.6/dist-packages/google/auth/compute_engine/_metadata.py", line 219, in get_service_account_info recursive=True, File "/usr/local/lib/python3.6/dist-packages/google/auth/compute_engine/_metadata.py", line 172, in get response, google.auth.exceptions.TransportError: ("Failed to retrieve http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true from the Google Compute Enginemetadata service. Status: 500 Response:\nb'Could not recursively fetch uri\\n'", <google.auth.transport.requests._Response object at 0x7f834cbd10f0>)

Are we not setting the workload identity correctly?
No results are reported in test grid
gsutil ls -la gs://kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1278686481346465793
     47306  2020-07-02T13:51:40Z  gs://kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1278686481346465793/build-log.txt#1593697900767497  metageneration=1
       555  2020-07-02T13:51:41Z  gs://kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1278686481346465793/finished.json#1593697901423058  metageneration=1
       120  2020-07-02T13:49:46Z  gs://kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1278686481346465793/image.yaml#1593697786672809  metageneration=1
      6712  2020-07-02T13:51:30Z  gs://kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1278686481346465793/junit_notebook.xml#1593697890349663  metageneration=1
     10571  2020-07-02T13:52:08Z  gs://kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1278686481346465793/podinfo.json#1593697928473542  metageneration=1
      2694  2020-07-02T13:52:04Z  gs://kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1278686481346465793/prowjob.json#1593697924436418  metageneration=1
       724  2020-07-02T14:37:50Z  gs://kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1278686481346465793/started.json#1593700670784310  metageneration=1
                                 gs://kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1278686481346465793/artifacts/

Looks like the directory for junit_notebook.xml is wrong.
Should be in the artifacts subdirectory.

Filed kubeflow/examples#806 about the actual error in the notebook

I did some small attempts to also test this on the mpi-operator repo, just triggering the minist notebook but it seems to fail as well. I don't fully understand if it is due to the same issue since I dont get any results at all or logs. Keeping track on this to fix it.

kubeflow/testing#716 fixed the issue with the junit file not being copied to GCS.
https://testgrid.k8s.io/sig-big-data#kubeflow-gcp-blueprints-master-periodic

I have tried it out and get some issues with Junit as I understand the logs: https://prow.k8s.io/view/gcs/kubernetes-jenkins/pr-logs/pull/kubeflow_mpi-operator/244/kubeflow-mpi-operator-presubmit/1279419183024574464/ . Currently test with a dummy notebook just which only prints "Done".

kubeflow/examples#807 should fix  the KFServing error.
The notebook still doesn't run. IT fails trying to launch Kaniko pods with
RefreshError: ("Failed to retrieve http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true from the Google Compute Enginemetadata service. Status: 500 Response:\nb'Could not recursively fetch uri\\n'", <google.auth.transport.requests._Response object at 0x7f840290de10>)

This is most likely due to problems with workload identity. Which is being tracked in  #61

@NikeNano Your logs indicate that your test harness was unable to find the HTML file on GCS containing the rendered notebook. I suspect its because the job running on the KF cluster didn't have permission to write the  rendered notebook to GCS. As of right now the test infra for the notebooks appears to be working. If you are having additional problems with your notebook test please file a separate issue specific to your test and lets use that to track.

Thanks for the help @jlewi.

https://prow.k8s.io/view/gcs/kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1280696285153726467
https://kf-ci-v1.endpoints.kubeflow-ci.cloud.goog/tekton/#/namespaces/kf-ci/pipelineruns/mnist-r88kk
Looks like a 404 reading image file
      logging.info(f"Reading file {image_file}")
      contents = util.read_file(image_file)

The image file doesn't exist
gs://kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1280696285153726467/artifacts/junit_mnist-notebook/image.yaml

get-credential is writing cluster info to Writing cluster information to /workspace/cluster.info.yaml

So artifacts-gcs isn't set consistently across the steps.

Success!
Test is passing
https://prow.k8s.io/view/gcs/kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1280857598203006977
Rendered notebook:
https://storage.googleapis.com/kubernetes-jenkins/logs/kubeflow-gcp-blueprints-master-periodic/1280857598203006977/artifacts/junit_mnist-notebook/mnist_test
Still need to fix: kubeflow/testing#715 otherwise we will clobber the HTML file.
Also looks like the html file is missing the extension ".html"


Fix POST request

Hi,
thank you for your lightweight library. I found that POST lack function how to send data and couple of minor bugs. Hopefully this PR will fix it.

Hi,
Thank you for you pull request. I'm gonna merge it right now.
Do not hesitate if you find any other issue :).


Jenkins installation on Ubuntu 14 - works with a slight issue

Hi,
As instructed, I installed Jenkins Jenkins v1.409.1 on a an Ubuntu 14 machine containing Tomcat 7.
I'm able to view the main page by appending :8080 to the ip address and also able to login to the manager/section, giving the username and password.
In the Applications table, in the path column, when I click the link /jenkins, I o to another page, which states the following error:
Unable to create the home directory '/usr/share/tomcat7/.jenkins'. This is most likely a permission problem.
To change the home directory, use JENKINS_HOME environment variable or set the JENKINS_HOME system property. See Container-specific documentation for more details of how to do this.
Is this expected or have I made some mistake?
How to change which permission to fix this issue?

login in to you machine and execute below steps::
cd /usr/share/tomcat7
sudo mkdir .jenkins
sudo chown -R tomcat7:nogroup .jenkins
=====================================
This directory is where jenkins will be creating workspaces and storing configs for the various projects you will be setting up,
so it is important that it exists and that jenkins (
or in this case its parent process, tomcat7) has the correct permissions (ie: read, write, execute).

Thanks a lot Ravi. This worked after I rebooted the EC2 instance after making the change.
Could you please tell me why "nogroup" has been given in the chown command?
When I did ls -l, it showed that the owner of tomcat7 is root.
I'm very new to Linux.

The chown command changes ownership of files and directories in a Linux filesystem.
What is file "ownership"?
Linux is designed to support a large number of users.
Because of this, it needs to keep careful track of who is allowed to access a file,
and how they can access it. These access rules are called permissions.
syntax: chown [owner][:[group]] file.
NOGROUP:
nogroup is the group analog to the nobody user. It is used for unprivileged processes
so that even if something goes wrong the process
does not have the permissions to cause any serious damage to an important user or group.

Extremely informative and very important.
Thank you very much.


11/7 publish

Docs Build status updates of commit 48b2301:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

<EMAIL_ADDRESS>:white_check_mark:Succeeded
View (azure-node-latest)

docs-ref-services/resources.md
:white_check_mark:Succeeded
View (azure-node-latest) View (azure-node-preview)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add counter when exceeding http.max-row-limit

Proposal: Add an internal metric to track how many requests hit the http.max-row-limit value.
Current behavior: No metric is reported.
Desired behavior: Add 1 to a counter whenever a request exceeds the row limit.
Use case: Operators wish to limit the number of rows that users can query but have no visibility into the settings and how to tune them.

Can I implement this feature in the httpd.hander?
@benbjohnson

This feature is reveiewed by PM?


zsh

I have packaged zsh (https://github.com/takimata/zsh-packaging) and would like to transfer my repo into sailfishos-chum.
Could you give me access for this?
It already builds at OBS: https://build.merproject.org/package/show/home:takimata/zsh

I think it is an excellent idea. Depending on your preference, you could either

transfer repo to chum. Then we will make you maintainer of that repository over here
we can fork your repo and make you maintainer over here as well

Transferring is easier, I think.

OK, let's do the transfer. Will wait for it ...

For the transfer you have to give me the permission to create public repositories on sailfishos-chum :-)

To keep it simpler (so we don't have to wait for @piggz to approve it), I will just import it into chum. Just a sec

Imported and invite for maintaining sent. If you think you will need to admin it (ability to delete repo), let me know - we can set that as well.
Closing issue as resolved regarding Github project - feel free to reopen if needed.
Looking forward to submission at OBS as well :)

I promoted zsh to sailfishos:chum as well while disabling builds for older versions, as you did in testing. Should be compiled soon

Thanks! The issue can be fixed probably, but I don't care about these older releases.

No problem. If someone cares they could fix it as well.


Returning entire result set and ignoring the cursor abstraction.

Hey, I'm trying to execute a query while ignoring the cursor abstraction, I appreciate the effort that went into its development and the problems that it's trying to solve, but I would really like it if I could just get the entire result set in memory, for now.
I noticed that the default batch size for a query execution is 0. Does that mean that by default the query returns all the results in one batch? If so, then why does the execute query, by default return a cursor?
Thanks.

For the moment, I am doing:
result = [x in for x in cursor]
to presumably load all results into memory.

Hi @TZubiri,
The cursor behavior you see is not specific to python-arango. It is built into ArangoDB's HTTP REST API. (python-arango is just a wrapper on top of this API).
I think it would be strange for a function to behave differently for one specific value of a parameter. What if, for example, the batch size was piped down from the user? Your application code will have to handle batch_size == 0 case differently from others. I would argue that it is bad design for an API/function to not have a consistent behavior/output format.
But I do understand your point. The default batch_size used to be 10 (to avoid blowing up the client side memory on large result sets), but this arbitrary limit caused confusion from users. So I changed the default to 0 (no limit) but left the behavior consistent for reasons explained above. You can see there's a little bit of history as to why things are the way they are now.
And as to your question: yes, the cursor should have the whole data set in one batch by default. There is no need for you iterate through the cursor. You can either just store the cursor itself somewhere in your application memory (it is a very light wrapper object on top of the list) or do cursor.batch to get the list directly.

I agree it would be bad design for the function to return two different objects depending on the parameter, the ideal design would be to have a function that returns the list object (this one should be used in tutorials and such), and another that returns the cursor with a mandatory batch_size parameter. This would make the library easier to use for those that don't need the batch functionality. But I understand how BC might complicate this.
cursor.batch seems to be like a viable alternative.
Thanks!

Also, I understand that this seems to be built into ArangoDB's HTTP REST API, but I imagine the ArangoDB developers would err on the side of exhaustivity rather than ease of use, thereby delegating the ease of use of the interface to the implementation.
In short, it's ok to abstract things away.

Yes of course! Abstracting things away for ease of use is the whole point of this library. My goal is to achieve this as simply and elegantly as possible.
There are at least a dozen methods in python-arango (and ArangoDB REST API) that return a cursor. Having to duplicate each one of them to separate out one functionality does not sound like ideal design to me. It may confuse new users who would be forced to juggle between multiple functions, and even lead them to not use cursors/batching at all, which is a bad practice in general!
I'm not sure how you are using python-arango at the moment, but for any real world applications that need to scale against the web, cursors and batching are pretty much mandatory to protect servers from going oom against large data sets. You can see this from other popular database client libraries as well. One good example would be the postgres one, which returns cursors for any N+ row queries. I would even recommend you to review your usage case and see if you can't batch your logic as well (unless its a simple script for one time use).
If I had to change anything with the way python-arango uses cursors, it would be to bring back the default value of batch_size (10 or w/e) to ensure that users are always protected in some form without having to set the parameter themselves. I'm not sure if removing the default value was the best decision.
Anyway, if you think this library can be improved, feel free to submit a pull request and I will be happy to take a look :)
Thanks.

Thanks for the response, the postgres example was really helpful. It seems that I will have to implement batching soon as well, I was kind of hoping to keep things simple for the prototype.
If I see something simple I can contribute I'll submit a PR for sure.
Thank you!


can't set notifyOnNetworkStatusChange with typescript

export function useQuery<TData = any, TVariables = OperationVariables>(
  query: DocumentNode,
  // QueryHookOptions
  options?: QueryHookOptions<TVariables>
): ApolloQueryResult<TData> & {
  fetchMore<K extends keyof TVariables>(
    fetchMoreOptions: FetchMoreQueryOptions<TVariables, K> &
      FetchMoreOptions<TData, TVariables>
  ): Promise<ApolloQueryResult<TData>>;
};

type QueryHookOptions<TVariables> = Omit<QueryOptions<TVariables>, 'query'> & {
  suspend?: boolean;
};

current workaround
useQuery<A, B>(Query, { notifyOnNetworkStatusChange: true } as any);

what I expected
useQuery<A, B>(Query, { notifyOnNetworkStatusChange: true });

index.d.ts
// now
type QueryHookOptions<TVariables> = Omit<QueryOptions<TVariables>, 'query'> & {
  suspend?: boolean;
};

// should be
type QueryHookOptions<TVariables> = Omit<WatchQueryOptions<TVariables>, 'query'> & {
  suspend?: boolean;
};

export interface QueryOptions<TVariables = OperationVariables> extends QueryBaseOptions<TVariables> {
    query: DocumentNode;
    metadata?: any;
    context?: any;
}
export interface ModifiableWatchQueryOptions<TVariables = OperationVariables> extends QueryBaseOptions<TVariables> {
    pollInterval?: number;
    notifyOnNetworkStatusChange?: boolean;
}
export interface WatchQueryOptions<TVariables = OperationVariables> extends QueryOptions<TVariables>, ModifiableWatchQueryOptions<TVariables> {
}

cause in index.js, useQuery calls watchQuery so restOptions should have WatchQueryOptions interface too
export function useQuery(query,
  {
    variables,
    suspend = true,
    context: apolloContextOptions,
    ...restOptions
  } = {}
) {
// ...
// ...
  const watchedQuery = client.watchQuery({
      query,
      variables,
      ...restOptions,
    });
// ...
 }

PS
how can i skip query?
<Query {...options} skip={true}>{renderProps}</Query>
// vs
useQuery<A, B>(Query, { skip: true } as any); // not work cause apolloClient dosn't have skip option

Hi @merongmerongmerong
I published a version 0.1.6 with the typescript fix.

how can i skip query?

It's currently not implemented. You can conditionally render a component using the useQuery hook. I can add the skip option, but what behavior of the hook should be if it's true? Return an object with data equal to {}?

@trojanowski
thank you for version 0.1.6
come to think of it, as you said i can just render conditionally to prevent query request.
in apollo-client.ts query result type is
export declare type ApolloQueryResult<T> = {
    data: T;
    errors?: GraphQLError[];
    loading: boolean;
    networkStatus: NetworkStatus;
    stale: boolean;
};

however, data is not always T, it is {} when it's not available(loading, error)
const { data, loading, errors } = useQuery<T>(QUERY, options)
console.log(data); // {} -> {} -> T

in react-apollo QueryResult type is
<Query>{(queryResult: QueryResult) => { /**/ }}</Query>

export interface QueryResult<TData = any, TVariables = OperationVariables> extends ObservableQueryFields<TData, TVariables> {
    client: ApolloClient<any>;
    data: TData | undefined;
    error?: ApolloError;
    loading: boolean;
    networkStatus: NetworkStatus;
}

so data field can be undefined. it's slightly different from apollo-client