(maint) remove teardown for symbolic_modes test

The teardown that removes the user and group used in the test
is leaving something behind on Fedora 26. Nothing obvious, since
all of the expected resources seem to be removed. However, on
Fedora 26 the gid value conflicts with the one created in the
resource/group/should_create test.

:crying_cat_face:


Docs: Issues from Chapter 6

Issue1:
http://pubs.marklogic.com:8011/9.0/guide/entity-services/search#id_37110
Actual:
For an examples, see Example: Using SPARQL for Instance Queries and Example: Using the Optic API for Instance Queries.
Expected:
For examples, see Example: Using SPARQL for Instance Queries and Example: Using the Optic API for Instance Queries.
Issue2:
http://pubs.marklogic.com:8011/9.0/guide/entity-services/search#id_27381
s in sem.sparql is bolded
The following example uses sem:sparql or sem.sparql to evaluate the same SPARQL query.
Issue3:
http://pubs.marklogic.com:8011/9.0/guide/entity-services/search#id_41034
http://pubs.marklogic.com:8011/9.0/guide/entity-services/search#id_96261
http://pubs.marklogic.com:8011/9.0/guide/entity-services/search#id_29214
Actual:
Person envelope documents where the instance data includes the word'washington'.
Expected:
Person envelope documents where the instance data includes the word 'washington'.
Issue4:
http://pubs.marklogic.com:8011/9.0/guide/entity-services/search#id_73091
The bullet points can include some example instead of this maybe:

This instance has this entity type.
This instance is defined by this envelope document (identified by URI).

Issue5:
http://pubs.marklogic.com:8011/9.0/guide/entity-services/search#id_96090
Typo in curl example. Replace adm1n with admin
curl --anyauth --user admin:adm1n -X GET \     'http://localhost:8000/LATEST/search?q=entity-type:person AND washington&options=person-0.0.1&database=es-gs'
Issue6:
http://pubs.marklogic.com:8011/9.0/guide/entity-services/search#id_73091
"Example: Using SPARQL for Instance Queries" returns empty sequence
Issue7:
http://pubs.marklogic.com:8011/9.0/guide/entity-services/search#id_44118
"Querying Triples Using the Optic API" : Both xquery and js queries return empty sequence
Issue8:
http://pubs.marklogic.com:8011/9.0/guide/entity-services/search#id_17962
"Querying Rows Using the Optic API" : Xquery returns
XDMP-ARGTYPE: (err:XPTY0004) json:array-size(sql:row(<json:object xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" .../>)) -- arg1 is not of type json:array?
JS example works fine.
Clarification1:
Throughout this chapter we say
The default TDE template that you can generate with the Entity Services API causes triples to be auto-generated whenever you insert or update an entity envelope document
While its true, whats also true is that if envelopes are already persisted, installing a TDE template will auto-generate rows as well.
I mention this so its explicit and folks dont assume that you have to insert envelopes after installing TDE template.

You were right Kim. I tried those example without the template installed. I tried after installing the TDE and they work OK. Everything else looks good. Shipping the bug.


android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with text: is "Notes cannot be empty"

Running errorShownOnEmptyMessage test I always get android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with text: is "Notes cannot be empty" exception.
These are my dependencies:
ext {
  // Sdk and tools
  minSdkVersion = 19
  targetSdkVersion = 26
  compileSdkVersion = 26
  buildToolsVersion = '26.0.1'

  // App dependencies
  supportLibraryVersion = '26.1.0'
  guavaVersion = '20.0'
  glideVersion = '3.6.1'
  junitVersion = '4.12'
  mockitoVersion = '1.10.19'
  powerMockito = '1.6.2'
  hamcrestVersion = '1.3'
  runnerVersion = '1.0.1'
  rulesVersion = '1.0.1'
  espressoVersion = '3.0.1'
}

I also replaced deprecated registering / unregistering methods for Idling Resources:
@Before public void registerIdlingResource() {
    IdlingRegistry.getInstance()
        .register(mAddNoteIntentsTestRule.getActivity().getCountingIdlingResource());
  }

@After public void unregisterIdlingResource() {
    IdlingRegistry.getInstance()
        .unregister(mAddNoteIntentsTestRule.getActivity().getCountingIdlingResource());
  }

I have the same problem. But according to this: https://github.com/googlecodelabs/android-testing/blob/master/app/src/androidTestMock/java/com/example/android/testing/notes/addnote/AddNoteScreenTest.java there seems to be a problem with the Snackbar tests

Closing as the corresponding code is no longer used in the codelab as of the latest update. If you're seeing this happen with the new code though, feel free to reopen.

I am facing the same problem of
androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: com.getinfino.android:id/contact_number_edt
When running my test. I am using a snackbar conditionally but in my test I am not testing the snackbar scenario.
Please let me know if it requires any other information


#170 - Rename TransactionService command topics

Hi @albamig, thank you so much for your review! 🎉


NetCDF data with calendar round trip test

Require to add a simple round trip test to cover https://github.com/SciTools/iris/pull/2984

Stale action is supposed to skip anything with a “Good First Issue” label 😕


Revert "do not create an empty upstream entry for invisible containers"

Reverts jwilder/nginx-proxy#1106
This leads to invalid upstream entries being created if a backend container has multiple networks, of which some are not reachable from the proxy (quite common when proxying services that are managed with docker-compose and use an internal network for backend communications), resulting in an upstream record like this:
upstream service.zone.local {
                                # Cannot connect to network of this container
                                server <IP_ADDRESS> down;
                                ## Can be connected with "proxy" network
                        # service_example_1
                        server <IP_ADDRESS>:80;

Got a better one incoming.


monero: <IP_ADDRESS> -> <IP_ADDRESS>

Motivation for this change
After a recent hardfork in Monero, old clients are no longer compatible.
Things done

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

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

cc @ehmry


added --node flag to init cmd

killer

there is a discrepancy, two modules exist but carry different versions on npm. is that intentional?
     'bare-fs': '^2.1.5',
     fs: 'npm:bare-node-fs',

oh, confusing - all the dependencies are like that. there are two versions on npm of each? is that documented anywhere?

documented here https://github.com/holepunchto/bare-node

Perhaps an alias or import resolution map feature would be useful. The current approach seems prone to errors and lagging behind the base bare-x modules.

yea on our radar, would set the process object also.


[feature] add github action for ast-grep

⭐ Suggestion
Don't know how to do that but this is a tracker
💻 Use Cases
Use ast-grep in GitHub

Available on Marketplace! https://github.com/marketplace/actions/ast-grep-gh-action


Allow setting of publication date other than now

At the moment if I want the publication date (e.g. what's shown in the dateline and, in many cases, the URL) to be other than when I actually switched it from "draft" to "published", I have to use the shell.
It would be nice if there was a way to publish with a datetime other than now.

Would this be a good "first-timers-only" or "difficulty: easy" issue? I added new labels so we can track the difficulty of issues better 😊

@ossanna16 yes, this is a pretty straightforward modification of the admin.  What is our standard for writing up a good issue for first-timers-only?

@paltman This https://github.com/pinax/pinax/issues/102 is an example of a first-timers-only issue. I'd be happy to help you write this one. Please just ping me and let me know how I can help :)

Fixed in v5.0.0


Rename ADAMANT_BOLTSUNF to ADAMANT_BOLTS_UNF for consistency

Updates ItemID.ADAMANT_BOLTS (unf) to match the format of similar items.

Itemid class is autogenerated.
https://github.com/runelite/runelite/blob/42c8fae171157bc5a1066f6fccb13023251325ec/runelite-api/src/main/java/net/runelite/api/ItemID.java#L1

I'd take a look at the first line of that file :)


[Documentation]: How to render dynamic filters SEO-friendly with Nuxt?

Description
Thanks for your awesome masonry wall plugin! I'm using it with Vue3 and  Nuxt3 and it works like a charm.
My page allows to dynamically filter the items that are displayed in the masonry wall, which works well with this plugin (as opposed to many others). But unfortunately this means that the items are not being rendered in the generate step by Nuxt and thus the source code of the generated website will not contain the text content of these masonry items.
So I tried a different approach with rendering all items all the time and then make the filter add "display: none;" to the item if it is not in the list. The filtering works (except for some tweaking that needs to be dome to remove the grid gap that is still showing for non-existing items). But unfortunately this does not render the text content of the items into the source code of the website.
Is there any way to achieve what I'm looking for?
Additional context
This is how I filter the items:
const activeFilter = ref('some-string')

const selectedItems = computed(() => {
    return allItems.filter((item) => {
        return !activeFilter.value ||
            item.topics?.includes(activeFilter.value)
    })
})

In the template:
                <masonry-wall :items="allItems">
                    <template #default="{ item }">
                        <MyCustomComponent
                            :item="item"
                            :style="(selectedItems.includes(item) ? '' : 'display: none;')"
                        />
                    </template>
                </masonry-wall>

Preferences

[ ] I want to be assigned to and work on this issue myself

Thanks for the kind words!
There are two main requirements for SSR to work in this scenario:

The ssr-columns prop has to be set, otherwise the server will never render this component. I suggest :ssr-columns="1", as a single column will probably result in the least CLS (layout shift).
The server has to render the component without the filter applied. So if your filter includes all elements by default, you're good to go. If it doesn't, I suggest changing that behavior to include all items, and then apply the stricter filter in the onMounted hook of your component.

Regarding performance, I suggest lifting the definedness check for your filter out of the filter.
const selectedItems = computed(() => {
  if (!activeFilter.value) {
    return allItems
  }
  return allItems.filter((item) => item.topics?.includes(activeFilter.value))
})

Thanks for the quick and detailed reply!
Seems like I misunderstood the ssr-columns prop. I did not use it because I want the number of columns to adapt to the page width (which changes with breakpoints). But apparently this prop just defines what is being rendered into the html source code, but this will still be dynamically adapted according to min-columns and max-columns?

Yes, ssr-columns is only for the SSR render. There's no width data available during that phase, so no breakpoints-like behavior is possible.
On the client, the component will then update the layout after being mounted.

Sweet, thanks a lot for your support! It works like a charm now :-)

You're welcome!


Updated nv docs to align with latest WSL2 cuda setup

From my work debugging issues with cuda support I realized my old documentation is outdated and updated it
Summary by Sourcery
Documentation:

Update the WSL2 CUDA setup documentation to reflect the latest installation and configuration steps for the NVIDIA Container Toolkit.

LGTM


Webhook for Death screenshots

Can there be an option added to the screenshot section for discord webhooks? Will be nice to have a chat channel to make fun of people dying not just in raids but anywhere too.
I know there's already a plugin called Raid Shamer, but that creator doesn't seem to be updating that plugin any longer.

also a Webhook for clan broadcasts like loot/ pets/ levels
Also deaths for clanmates/friends/self

There looks to be a couple of plugins in the plugin hub that do what you want. 1 does all deaths. Another does deaths, levels, quests, pets and clues. https://github.com/jamesdrudolph/Discord-Death-Notifications/ https://github.com/WilliamWinterDev/Discord-Notifications


Two classes named "Rotation"

There are currently two classes named Rotation:
net.minecraft.util.Rotation:
public enum Rotation {
    ROT_0,
    ROT_90,
    ROT_180,
    ROT_270;

net.minecraft.util.math.Rotation:
public class Rotation {
    protected final float x;
    protected final float y;
    protected final float z;

One solution would be to name the first to OrthogonalRotation. Does anyone have any other ideas?

Where is OrthogonalRotation used? If it is used only in block/structures, we can call it BlockRotations

Any non-block/voxel usage?

It doesn't seem like it. BlockRotation could work.


dbaas-demo

prepare the templates / views

Hello @SebastienPittet! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file app/views.py:

Line 117:1: E302 expected 2 blank lines, found 1


Fixed markdown in service_accounts.md

Thanks for the change. Could you please sign CLA?

@piosz I'm under Red Hat corporate CLA.


Release Hermes v1.7.1

Not to be merged via the GitHub UI. I will rebase it on top of the v1.7.x branch instead.

Not to be merged via the GitHub UI. I will rebase it on top of the v1.7.x branch instead


Recommendation for readme.md

Can you change this:
port: 8000
host: <IP_ADDRESS>
disable_ssl: true
app: /srv/salt-gui/index.html
static: /srv/salt-gui/static
static_path: /static
to this:
port: 8000
host: <IP_ADDRESS>
disable_ssl: true
app: /srv/saltgui/index.html
static: /srv/saltgui/static
static_path: /static
in your readme.md file? The default folder name is saltgui when pulled down with git clone. Thanks

I've added a PR to fix this

Duplicate of  #8


Add vary-by-culture Attribute to Cache Tag Helpers

I have numerous Views with large sections of markup that do not change unless the user changes their language preferences.  I prefer the CookieRequestCultureProvider to handle language selection, so when I want to cache these Views, I have to use code like below.  This feels quite verbose to me, for what I imagine is a fairly common use case in production apps; namely, caching by request culture.
<cache<EMAIL_ADDRESS>    <!-- Other markup... -->
</cache>

It would be great if the <cache> element included some kind of vary-by-culture attribute out of the box which, turning the above code into:
<cache vary-by-culture="true">
    <!-- Other markup... -->
</cache>

Not only is this syntax cleaner, but it would also be RequestCultureProvider-agnostic, I think, as the caching mechanism could read the request culture from HttpContext's IRequestCultureFeature, which could be set by query string, cookie, database, or whatever.  The only debate is probably whether to use Culture or UI Culture.  I would err on the side of UI Culture, but perhaps the cache key could be some kind of concatenation of both?

This issue probably belongs in the Mvc repo actually, my mistake.  I created a new issue over there:
aspnet/Mvc#6986


JPEG2000 via j2k.js

This replaces #634, so we can all help and work on the same branch.
Lots of progress. @kripken fixed a bunch of things for j2k.js, but there are still some open issues:

I accidentally learned that j2k.js uses Array() internally, which makes large images impractically slow to load. I've talked to Alon and he's modifying it to use typed arrays. He says it speeds things up by 10x. UPDATE: Alon's now using Typed Arrays, dramatic improvement https://github.com/kripken/j2k.js/commit/1949713f6c6992ceb918e2b8a9db561acccd5d67

Right now we're blocked by a bug with web workers that prevents openjpeg() from running in there. See https://github.com/kripken/j2k.js/pull/3#issuecomment-3113880 UPDATE: Web worker bug fixed.

We still need to address the extension issue (jp2 vs j2k). I wanted to use try-catch but that brings up our error dialog. Gotta think about this.

Here are the statuses of our corpus PDFs that use JPX:

2011-Horizon-Report: Page 1 correctly displayed (takes a few secs), page 3 takes a while - note that Preview won't render image on Page 3 while Adobe Reader will.
future_of_geothermal_energy: Page 1 takes several seconds and comes out messed up. Not sure if it's j2k.js's fault or ours Need to check.
101201privacyreport: Pages 107-108 still break due to incorrect smask dimensions.

Closing now that we have #1068.


dictdDBs.wiktionary: 20210901 -> 20210920

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for dictdDBs.wiktionary is: "DICT version of English Wiktionary"
meta.homepage for dictdDBs.wiktionary is: "https://en.wiktionary.org/"
meta.changelog for dictdDBs.wiktionary is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 20210920 in filename of file in /nix/store/45zykhh3mxilhdy025xsssinrp51ffiv-dict-db-wiktionary-20210920

directory tree listing: https://gist.github.com/7b69604216cde260850c1cefb50825ac

du listing: https://gist.github.com/43e288175e7d78070d21bad53bf831a4

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
dictdDBs.wiktionary

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/45zykhh3mxilhdy025xsssinrp51ffiv-dict-db-wiktionary-20210920 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A dictdDBs.wiktionary https://github.com/r-ryantm/nixpkgs/archive/435b3894c495ca7ebccee4b212f1f9259c7f42dd.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/45zykhh3mxilhdy025xsssinrp51ffiv-dict-db-wiktionary-20210920
ls -la /nix/store/45zykhh3mxilhdy025xsssinrp51ffiv-dict-db-wiktionary-20210920/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

dictdDBs.wiktionary

Maintainer pings
cc @alyssais for testing.

Result of nixpkgs-review pr 139094 at 435b3894 run on aarch64-linux 1

1 package built successfully:

dictdDBs.wiktionary

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/servers/dict/wiktionary/default.nix:17:3:
   |
17 |   installPhase = ''
   |   ^


Jobs no longer receiving SIGTERM on cancellation/timeout

We recently upgraded to v3.8.4 and noticed that our jobs are no longer receiving SIGTERM when they are cancelled or time out.  We've confirmed this with a simple script that traps only SIGTERM and prints to standard output.  When the job hits the timeout, we get no print statement.
Previously we were trapping SIGTERM to perform various cleanups as documented here:
https://buildkite.com/docs/agent/v3#signal-handling
Via a quick reading of the code we think this bug was potentially introduced here:
https://github.com/buildkite/agent/commit/56c34ba1bae731b143b50ffb7cf15683286bcd4c
since calling cancel() on an exec.Command object will result in it getting SIGKILL'd.  Note this is based on a rather quick reading of the code. The code has changed a bit on master, but a quick reading of master leads us to believe that master likely has the same behavior but we haven't confirmed this.
We can likely work around this by moving our cleanup routines into the pre-exit hook; however, it seems like either the SIGTERM behavior should be restored or the documentation should be updated.

Thanks for the heads up @stevendanna, we've been doing a fair bit of internal work to get the signal handling right for windows/linux and cancellation. You raise an excellent point that I hadn't considered. Our view of the contract is that the SIGTERM/SIGKILL is sent to the sub-process that we run each job in (we call it the bootstrap). That then executes hooks and commands, around which the signal contract hasn't ever been very clear, and we should do a better job of documenting that distinction.
What you are doing with signal handling and trapping a SIGTERM in your scripts for cleanup is entirely reasonable. My apologies for breaking it! We hate doing that, especially in a minor version. Whilst moving your cleanup logic sounds like the sensible thing to do, we'll also fix the behaviour in the next release.


PrometheusNotIngestingSamples: not firing, when tsbd cannot store metrics

What happened?
When the Storage for the TSBD files is not writeable, e.g. due to access problems or device full, the Prometheus continues working, but it cannot store metrics in the TSDB.
The Alert "PrometheusNotIngestingSamples" is not firing.
I can only see the TSDB write problems in the Prometheus logs files and via false alerts for other cluster component, which use absent expressions. E..g
KubeletDown
expr: absent(up{job="kubelet"}
  == 1)
for: 15m
...

This is very confusing.
Did you expect to see something different?
I would have expected the Alert "PrometheusNotIngestingSamples" to alert on this case.
This could be detected by converting the alert to an absent expressing. e.g.
    - alert: PrometheusNotIngestingSamples
      annotations:
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} is not ingesting
          samples.
        summary: Prometheus is not ingesting samples.
      expr: |
        absent(prometheus_tsdb_head_samples_appended_total) == 1
      for: 10m
      labels:
        severity: warning

How to reproduce it (as minimally and precisely as possible):
The storage path for the TSDB files must be nearly full or not available.
Environment

Prometheus Operator version:
Occured with v0.34.1
Any version should be effected.

Kubernetes version information:
v1.16.2
Any version should should be effected.

Kubernetes cluster kind:
OpenShift 4.3

Manifests:
.../manifests/prometheus-rules.yaml:

...
    - alert: PrometheusNotIngestingSamples
      annotations:
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} is not ingesting
          samples.
        summary: Prometheus is not ingesting samples.
      expr: |
        rate(prometheus_tsdb_head_samples_appended_total{job="prometheus-k8s",namespace="monitoring"}[5m]) <= 0
      for: 10m
      labels:
        severity: warning
...

Thanks for your report. It looks as if this is actually a question about usage and not development. See our FAQ about high availability, too: https://prometheus.io/docs/introduction/faq/#can-prometheus-be-made-highly-available
It makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.

This is for me a bug in standard Alert "PrometheusNotIngestingSamples" provided via this repository file:
prometheus/documentation/prometheus-mixin/alerts.libsonnet

cc @brancz @tomwilkie what is your view on this?

I see one of three possibilities:

the metric is wrong
the alert is wrong
another alert is needed

All of which seem like a legitimate issue, the first two being a bug, the last being a feature that I feel is a necessity in the monitoring-mixin.

I see one of three possibilities:
1. the metric is wrong

2. the alert is wrong

3. another alert is needed

All of which seem like a legitimate issue, the first two being a bug, the last being a feature that I feel is a necessity in the monitoring-mixin (should it be the case).

if TSDB is full how can we still run queries?

I am even wondering if alerts still work at all if disk is full

I'd presume that it'd a different Prometheus that'd be doing the alerting.

I'd presume that it'd a different Prometheus that'd be doing the alerting.

Agreed.

"I can only see the TSDB write problems in the Prometheus logs files and via false alerts for other cluster component, which use absent expressions."
That tends to prove that this issue is for a single prometheus. WDYT?

No, its the same prometheus.
When only writing fails, querying still seems to work. Just every instant query returns empty results. At least after 5 minutes are over for the standard lookback delta.

Hi,
I just tested the latest Prometheus release 2.17.1 regarding disk full behaviour.
If the disk is full at start of Prometheus, than Prometheus doesn't start.
If the disc gets full when its running, the querying , rule evaluation and alert notification continues normally.
Here are the result in detail:
Disk full at 16:45:50Z
extract from prometheus log:
ts=2020-03-29T16:45:42.235Z caller=dedupe.go:112 component=remote level=warn remote_name=f133c2 url="http://svc-influxdb:8086/api/v1/prom/write?db=osinfra " msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495830 minSendTimestamp=1585500332
ts=2020-03-29T16:45:42.235Z caller=dedupe.go:112 component=remote level=warn remote_name=604dbf url="http://svc-influxdb:8086/api/v1/prom/write?db=osinfra&rp=capa " msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495827 minSendTimestamp=1585500332
ts=2020-03-29T16:45:42.647Z caller=dedupe.go:112 component=remote level=error remote_name=d8b3dc url=http://thanos-receiver:10981/api/v1/receive  msg="error tailing WAL" err="unexpected checksum e7cc37c4, expected f076d328"
ts=2020-03-29T16:45:47.656Z caller=dedupe.go:112 component=remote level=info remote_name=d8b3dc url=http://thanos-receiver:10981/api/v1/receive  msg="replaying WAL" queue=d8b3dc
level=warn ts=2020-03-29T16:45:51.858Z caller=manager.go:595 component="rule manager" group=node.rules msg="rule sample appending failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:45:51.859Z caller=manager.go:595 component="rule manager" group=node.rules msg="rule sample appending failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:45:51.859Z caller=manager.go:595 component="rule manager" group=node.rules msg="rule sample appending failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:45:51.860Z caller=manager.go:595 component="rule manager" group=node.rules msg="rule sample appending failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:45:52.139Z caller=scrape.go:987 component="scrape manager" scrape_pool=kubernetes-kubelet target=https://<IP_ADDRESS>:10250/metrics  msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
ts=2020-03-29T16:45:52.234Z caller=dedupe.go:112 component=remote level=warn remote_name=f133c2 url="http://svc-influxdb:8086/api/v1/prom/write?db=osinfra " msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495830 minSendTimestamp=1585500342
ts=2020-03-29T16:45:52.235Z caller=dedupe.go:112 component=remote level=warn remote_name=604dbf url="http://svc-influxdb:8086/api/v1/prom/write?db=osinfra&rp=capa " msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495827 minSendTimestamp=1585500342
ts=2020-03-29T16:45:52.236Z caller=dedupe.go:112 component=remote level=warn remote_name=d8b3dc url=http://thanos-receiver:10981/api/v1/receive  msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495827 minSendTimestamp=1585500342
level=warn ts=2020-03-29T16:45:52.437Z caller=scrape.go:987 component="scrape manager" scrape_pool=node-exporter target=https://<IP_ADDRESS>:9100/metrics  msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:45:57.282Z caller=scrape.go:987 component="scrape manager" scrape_pool=kubernetes-cadvisor target=https://<IP_ADDRESS>:10250/metrics/cadvisor  msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:46:00.038Z caller=scrape.go:987 component="scrape manager" scrape_pool=kubernetes-kubelet target=https://<IP_ADDRESS>:10250/metrics  msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:46:01.118Z caller=manager.go:595 component="rule manager" group=general.rules msg="rule sample appending failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
ts=2020-03-29T16:46:01.653Z caller=dedupe.go:112 component=remote level=error remote_name=604dbf url="http://svc-influxdb:8086/api/v1/prom/write?db=osinfra&rp=capa " msg="error tailing WAL" err="unexpected checksum e7cc37c4, expected f076d328"
ts=2020-03-29T16:46:02.234Z caller=dedupe.go:112 component=remote level=warn remote_name=f133c2 url="http://svc-influxdb:8086/api/v1/prom/write?db=osinfra " msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495830 minSendTimestamp=1585500352
ts=2020-03-29T16:46:02.234Z caller=dedupe.go:112 component=remote level=warn remote_name=604dbf url="http://svc-influxdb:8086/api/v1/prom/write?db=osinfra&rp=capa " msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495827 minSendTimestamp=1585500352
ts=2020-03-29T16:46:02.234Z caller=dedupe.go:112 component=remote level=warn remote_name=d8b3dc url=http://thanos-receiver:10981/api/v1/receive  msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495827 minSendTimestamp=1585500352
level=warn ts=2020-03-29T16:46:05.737Z caller=scrape.go:987 component="scrape manager" scrape_pool=kubernetes-cadvisor target=https://<IP_ADDRESS>:10250/metrics/cadvisor  msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
ts=2020-03-29T16:46:06.653Z caller=dedupe.go:112 component=remote level=info remote_name=604dbf url="http://svc-influxdb:8086/api/v1/prom/write?db=osinfra&rp=capa " msg="replaying WAL" queue=604dbf
level=warn ts=2020-03-29T16:46:09.244Z caller=manager.go:595 component="rule manager" group=prometheus.rules msg="rule sample appending failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:46:10.646Z caller=scrape.go:987 component="scrape manager" scrape_pool=kubernetes-cadvisor target=https://<IP_ADDRESS>:10250/metrics/cadvisor  msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
ts=2020-03-29T16:46:12.167Z caller=dedupe.go:112 component=remote level=warn remote_name=f133c2 url="http://svc-influxdb:8086/api/v1/prom/write?db=osinfra " msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495830 minSendTimestamp=1585500362
ts=2020-03-29T16:46:12.167Z caller=dedupe.go:112 component=remote level=warn remote_name=604dbf url="http://svc-influxdb:8086/api/v1/prom/write?db=osinfra&rp=capa " msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495827 minSendTimestamp=1585500362
ts=2020-03-29T16:46:12.172Z caller=dedupe.go:112 component=remote level=warn remote_name=d8b3dc url=http://thanos-receiver:10981/api/v1/receive  msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495827 minSendTimestamp=1585500362
level=warn ts=2020-03-29T16:46:12.816Z caller=scrape.go:987 component="scrape manager" scrape_pool=node-exporter target=https://<IP_ADDRESS>:9100/metrics  msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:46:16.511Z caller=scrape.go:987 component="scrape manager" scrape_pool=kubernetes-kubelet target=https://<IP_ADDRESS>:10250/metrics  msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:46:18.538Z caller=scrape.go:987 component="scrape manager" scrape_pool=node-exporter target=https://<IP_ADDRESS>:9100/metrics  msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:46:19.735Z caller=scrape.go:987 component="scrape manager" scrape_pool=node-exporter target=https://<IP_ADDRESS>:9100/metrics  msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:46:20.494Z caller=scrape.go:987 component="scrape manager" scrape_pool=kubernetes-cadvisor target=https://<IP_ADDRESS>:10250/metrics/cadvisor  msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:46:21.539Z caller=scrape.go:987 component="scrape manager" scrape_pool=node-exporter target=https://<IP_ADDRESS>:9100/metrics  msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
ts=2020-03-29T16:46:22.167Z caller=dedupe.go:112 component=remote level=warn remote_name=f133c2 url="http://svc-influxdb:8086/api/v1/prom/write?db=osinfra " msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495830 minSendTimestamp=1585500372
ts=2020-03-29T16:46:22.167Z caller=dedupe.go:112 component=remote level=warn remote_name=604dbf url="http://svc-influxdb:8086/api/v1/prom/write?db=osinfra&rp=capa " msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495827 minSendTimestamp=1585500372
ts=2020-03-29T16:46:22.173Z caller=dedupe.go:112 component=remote level=warn remote_name=d8b3dc url=http://thanos-receiver:10981/api/v1/receive  msg="Skipping resharding, last successful send was beyond threshold" lastSendTimestamp=1585495827 minSendTimestamp=1585500372
level=warn ts=2020-03-29T16:46:23.774Z caller=scrape.go:987 component="scrape manager" scrape_pool=prometheus target=http://localhost:9090/metrics  msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:46:25.637Z caller=manager.go:595 component="rule manager" group=Dashboard_Cluster msg="rule sample appending failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"
level=warn ts=2020-03-29T16:46:25.637Z caller=manager.go:595 component="rule manager" group=Dashboard_Cluster msg="rule sample appending failed" err="write to WAL: log samples: write /prometheus/wal/00003944: no space left on device"

##Alerts in Prometheus GUI
from http://.../api/v1/alerts
{"status":"success","data":{"alerts":[{"labels":{"alertname":"DeadMansSwitch","priority":"OK","selfmonitoring":"true","severity":"none"},"annotations":{"description":"This is a DeadMansSwitch meant to ensure that the entire Alerting pipeline is functional.","summary":"Alerting DeadMansSwitch"},"state":"firing","activeAt":"2020-03-29T14:48:01.11767761Z","value":"1e+00"},{"labels":{"alertname":"PrometheusNotIngestingSamples_absent","severity":"warning"},"annotations":{"description":"Prometheus / is not ingesting samples.","summary":"Prometheus is not ingesting samples."},"state":"firing","activeAt":"2020-03-29T16:49:59.306145731Z","value":"1e+00"},{"labels":{"alertname":"KubeAPIDown","severity":"critical"},"annotations":{"message":"KubeAPI has disappeared from Prometheus target discovery."},"state":"firing","activeAt":"2020-03-29T16:51:59.306145731Z","value":"1e+00"}]}}

##Outgoing notification calls to alertmanager
still all previously active alerts and these two new
[
  {
    "labels": {
      ...
      "severity": "warning"
    },
    "annotations": {
      "description": "Prometheus / is not ingesting samples.",
      "summary": "Prometheus is not ingesting samples."
    },
    "startsAt": "2020-03-29T16:59:59.306145731Z",
    "endsAt": "2020-03-29T17:17:59.306145731Z",
    "generatorURL": "https://rt-prometheus-prom-monitoring.paasint.consol.de/graph?g0.expr=absent%28prometheus_tsdb_head_samples_appended_total%29+%3D%3D+1&g0.tab=1"
  },
  {
    "labels": {
      ...
      "severity": "critical"
    },
    "annotations": {
      "message": "KubeAPI has disappeared from Prometheus target discovery."
    },
    "startsAt": "2020-03-29T17:07:59.306145731Z",
    "endsAt": "2020-03-29T17:17:59.306145731Z",
    "generatorURL": "https://rt-prometheus-prom-monitoring.paasint.consol.de/graph?g0.expr=absent%28up%7Bjob%3D~%22.%2Aapiserver.%2A%22%7D+%3D%3D+1%29&g0.tab=1"
  }
]

but this alert is not firing:
PrometheusNotIngestingSamples (0 active)

alert: PrometheusNotIngestingSamples
expr: rate(prometheus_tsdb_head_samples_appended_total{job="prometheus-k8s",namespace="openshift-monitoring"}[5m])
  <= 0
for: 10m
labels:
  severity: warning
annotations:
  description: Prometheus {{$labels.namespace}}/{{$labels.pod}} is not ingesting samples.
  summary: Prometheus is not ingesting samples.

This is not related to the reported Alert bug, but I can confirm that disk full is not discovered and recovered. Results in that timeframe are obviuosly missing. But prometheus continues scraping after the diskspace is freed. In the log is a db.go error "compaction failed"...
Grafana pulls current results and is happy.
Now once the prometheus service is restarted (even after a day or later), WAL corruption is discovered, the records after corruption are discarded and all data that was displayed before is lost.
So it is absolutely necessary to provide an early alarm to fix the underlying problem, restart prometheus and reduce dataloss to a minimum. (well even better: fix the corruption in the running process ;-) ).
`prometheus      | level=warn ts=2020-03-31T19:53:00.605Z caller=scrape.go:987 component="scrape manager" scrape_pool=nginx target=http://nginxexporter:9113/metrics msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/00001566: no space left on device"
prometheus      | level=error ts=2020-04-01T05:00:01.811Z caller=db.go:659 component=tsdb msg="compaction failed" err="reload blocks: head truncate failed: create checkpoint: read segments: corruption in segment /prometheus/wal/00001566 at 34996224: unexpected checksum 1dea33dd, expected 6d1ae2de"
...
prometheus      | level=error ts=2020-04-02T07:00:01.802Z caller=db.go:659 component=tsdb msg="compaction failed" err="reload blocks: head truncate failed: create checkpoint: read segments: corruption in segment /prometheus/wal/00001566 at 34996224: unexpected checksum 1dea33dd, expected 6d1ae2de"
prometheus      | level=warn ts=2020-04-02T07:59:27.112Z caller=main.go:512 msg="Received SIGTERM, exiting gracefully..."
prometheus      | level=warn ts=2020-04-02T07:59:30.178Z caller=db.go:608 component=tsdb msg="encountered WAL read error, attempting repair" err="read records: corruption in segment /prometheus/wal/00001566 at 34996224: unexpected checksum 1dea33dd, expected 6d1ae2de"
prometheus      | level=warn ts=2020-04-02T07:59:30.178Z caller=wal.go:353 component=tsdb msg="starting corruption repair" segment=1566 offset=34996224
prometheus      | level=warn ts=2020-04-02T07:59:30.178Z caller=wal.go:361 component=tsdb msg="deleting all segments newer than corrupted segment" segment=1566
prometheus      | level=warn ts=2020-04-02T07:59:30.210Z caller=wal.go:383 component=tsdb msg="rewrite corrupted segment" segment=1566
`
Thanks.

I think @brian-brazil and @roidelapluie are right here in that meta monitoring is the solution to this. In both scenarios you should have Prometheus servers that are monitoring each other and a set of Prometheus servers that do nothing but monitor the Prometheus servers. For this scenario you can do extremely precise capacity planning to minimize the risk for running out of disk for example (which btw you should be monitoring separately already as well :slightly_smiling_face:). What Prometheus does here is the best thing it can I believe as it tries to (and seemingly successfully) continue operation at all cost.

As result of our bug scrub, I was asked to vet this.
I'd say the existing alert is correct – as in: Prometheus is still ingesting samples in the described situation where the disk is almost full or otherwise becomes unwriteable. The right way to alert about disks running full, especially if you want it to happen in time before the disk is actually full, is a separate alert based on metrics about the disk state, as you would get it from node_exporter for local disk or from your cloud provider for network storage. (Check out the  node mixin for this kind of alerts.) That's clearly preferred over requiring every instrumented binary that needs disk space to monitor the available disk space on their own.
A different question is if there should be more alerts about various failure modes of the TSDB. We have a bunch of them (like for failed compactions), and once the disk is actually full, I'm sure a few of them will fire. Please follow up if you think there are specific failure modes that should be covered (here or file a new issue). I'll close this issue, though, because I think the PrometheusNotIngestingSamples is working as intended, and the early warning about disks running full should be implemented as described above.

Hello @beorn7,
thank your very much for the update.
The problem is that 5 minutes after the disk is full, all queries including the once executed during evaluation of the alert rules return empty.
So in this case no current Prometheus metrics related alerts will fire.
Hence I would like to have an alert like
- alert: PrometheusNoCurrentSamples
      annotations:
        description: Prometheus is not returning any samples. Probable cause: disk full or not writable
        summary: Prometheus is not returning any samples
      expr: |
        absent({__name__=~".+"})
      for: 10m
      labels:
        severity: critical

So that, in the case that the disk alerts have been ignored, at least I can see one alert related to the current problem.

I wouldn't rely on that behavior as an indicator for full disk. One might very well argue that Prometheus should degrade more gracefully and still evaluate queries properly even if the disk is full.
In different news, I like the idea of running a query that should always return something and then trigger an alert if it doesn't. That alert wouldn't be meant to detect a disk-full condition, but would be more a symptom-based smoke test. If it fires, something must be broken very fundamentally. But I would use a query that is cheaper than asking for all metric names. absent(up) sounds like a good candidate.
What does everyone think about that?

Thinking about it, this is not an alert you could run on a separate meta-mon Prometheus. It would need to run on the server itself you are testing. Therefore, it would only work if that server is in a condition where it can still generate and send alerts, but for some reason queries always return an empty result. While that's certainly a condition I would like to be notified about, I'm wondering how frequently it will happen in practice. In any case, this mixin is meant to be for meta-monitoring, to be run on the metamon Prometheus server, not on every server, so even if it cannot harm to have that smoke-test alert on every server, this mixin wouldn't be the place to put it.

That's fine for me.
I would suggest as cheaper query
  absent(prometheus_tsdb_head_samples_appended_total)

as this is more related to the Prometheus functionality itself.
If no targets can be discovery (absent(up))  the Prometheus can still be working fine.

Note: the alerts are still sent, when no metrics can be written.

After even more thinking:
If the disk runs full, all bets are off. While the Prometheus server should be designed with graceful degradation in mind, there aren't that many assumption that you can still make in that situation. However, I'd say any errors in the TSDB due to a full disk should bubble up the error where meaningfully possible and definitely increment an error counter so that ingestion or PromQL evaluation don't appear to succeed while doing nothing (i.e. no ingestion happening, empty results returned). So I'd say we are dealing with a bug in Prometheus rather than something we can fix by improving the monitoring alone.
Could you perhaps reproduce the problem with a current version of Prometheus and double-check if perhaps there are error metrics being incremented or errors being logged while ingestion is failing despite prometheus_tsdb_head_samples_appended_total getting incremented or while queries return empty results? With your findings, you could then file a bug against the TSDB code.

absent(prometheus_tsdb_head_samples_appended_total)

This query only makes sense for a Prometheus server that scrapes itself or other Prometheus servers. While many Prometheus servers are set up to scrape themselves, that's not a requirement. In fact, in a larger setup with dedicated meta-monitoring servers and perhaps even a remote storage solution included, it might be preferred to not let each server scrape itself.

I did a test for meta-mon monitoring, i.e. I scraped the metrics from the Prometheus, which got the disc full, in another Prometheus instance
I used the latest Prometheus Container image quay.io/prometheus/prometheus  (v2.19.2)
In case off disc full the following metrics on the meta-mon Prometheus show failure situations

prometheus_tsdb_compactions_failed_total: increases, when no new files for compaction can be allocated
prometheus_tsdb_wal_writes_failed_total: increases, when no new WAL file can be allocated. The Prometheus continues to run normally until the currently allocated wal file is filled.
rate(prometheus_tsdb_head_samples_appended_total[5m]): 0, when no new WAL file can be allocated

In my test none of the prometheus_tsdb_checkpoint_.*failed_total metrics is non zero. I think the check pointing happens only after the previous failed functionality.
For WAL metrics there are not yet any alerts in https://github.com/prometheus/prometheus/blob/master/documentation/prometheus-mixin/alerts.libsonnet
the following alerts fired:
           alert: 'PrometheusTSDBCompactionsFailing',
           expr: |||
              increase(prometheus_tsdb_compactions_failed_total{%(prometheusSelector)s}[3h]) > 0
            ||| % $._config,
...

            alert: 'PrometheusNotIngestingSamples',
            expr: |||
              rate(prometheus_tsdb_head_samples_appended_total{%(prometheusSelector)s}[5m]) <= 0
            ||| % $._config,
...

No other current alert fired, but I had no Alertmanager or remote write configured.

This behavior totally makes sense to me. Most importantly, the metamon alerting, as provided in this mixin, works exactly as intended. Remember that metamonitoring is meant to happen from a different Prometheus server (the metamon server). A server cannot really metamonitor itself.
Having said all that, I think I understand now better how Prometheus degrades once the disk is full. Everything is actually working as expected. The expected metrics are incremented (e.g. prometheus_tsdb_compactions_failed_total) or not incremented (e.g. prometheus_tsdb_head_samples_appended_total) as expected. And no new metrics can be ingested at a certain point. Which explains why evaluations return empty results at some point. That's actually a correct evaluation, because no recent samples have made it to the storage. So by now, I don't see any bug in Prometheus.
Feel free to add an absent style alert to your Prometheus. It's fine to detect a particular failure mode in smaller, non-production setups. For "real" metamonitoring, it's not robust enough, and I would not recommend it and thus not add it here to the mixin. Also, it's not really a metamonitoring alert, but a "self monitoring" alert, which this mixin is not about.

@beorn7
would you mind to share a feasible query or alert for a single instance to monitor with Grafana?
For my minor private install I don't see a meta monitoring prom-instance.
Nevertheless I would like to notice the issue (if not on failure but then a little prior to failure).
Thanks.
Peter

As @ulikl suggested, you could set up an alert with the query absent(prometheus_tsdb_head_samples_appended_total).
However, even with a single-node setup, it would be much better to also run a node_exporter on that single node and then use a normal disk-filling-up alert to detect the problem before it hits.

@beorn7:
sure I do already. But there have been issues, when the WALs got corrupted and I simply don‘t get any values anymore...

Yes, that's the problem if the only thing that monitors your monitoring is your monitoring itself.
However, that's now really out of scope of this GH issue. For support in your case, I recommend the prometheus-users mailing list.


Remove request cloning to avoid duplicated requests

One must be careful when cloning requests, apparently.
The body of a Request object is consumable. Presumably (though I haven't research enough to know), reading the body of a request consumes the body and thus terminates the request (since reading the body would be required to send it over the network).
I had initially based the proxying of our requests based on some example code but I was too naive to realize that if the body of the original request were not consumed, it seems that "propagation" of the request would continue. In our case, the tracker requests are only GET requests and thus have no body (and thus no reading of the body is necessary). In practice we observed some duplicated POST events so non-collector endpoint so for safety I have restricted the worker to GET requests and disabled request cloning.
There are some TODOs in the code mentioning this as well and it should be taken as a future work item to add support for tracker requests with a body.

Okay! Will merge


Fix quotation issue

This resolves the following error with BitBucket cloud:
jq: error: syntax error, unexpected INVALID_CHARACTER (Unix shell quoting issues?) at <top-level>, line 2:
        | map(select(if .title | test('wip'; 'i') then false else true end))
jq: 1 compile error

I fixed it here: https://github.com/zarplata/concourse-git-bitbucket-pr-resource/pull/23

Apologies for the delay, I've been out on holiday.  I've made the change requested.  I tested it in a hijacked container and it seemed to work.  Let me know what you think.

Thanks for fix


fix(ScalarObservable): remove ScalarObservable optimization

remove usage of ScalarObservable for optimization
implementation of ScalarObservable still remain for possible further usage

closes #1142, #1150, #1140
Created PR, though it's bit early to get conclusion. Can be closed if it's decided to use ScalarObservable.
This PR removes usage of ScalarObservable from operators, but remain implementation itself for possible further discussions around optimizations when it's required.

I think the idea was to remove the optimization from ScalarObservable, not to remove ScalarObservable itself (I might reading Ben wrong though). I can imagine there are performance benefits in keeping ScalarObservable. At least I think #1142 is only about removing the eager optimizations from ScalarObservable, not removing itself from FromObservable e.g.

Ah, seems I was in hurry and did not get point correctly. Thanks for pointing out, @staltz . Let me close this, if this is really considerable can be reopened later.


Share the updated commands after installation.

@nmarcetic , @janko-isidorovic @manuio , @anovakovic01 , @srados, @gesaleh ,@blokovi, @mteodor
After installation what is the next procedure?

How to connect UI ?
2.What is exact output ?

Please check https://docs.magistrala.abstractmachines.fr/getting-started/. Alternatively, you can use UI at http://localhost:9095/ui/login for things, channels, users, and group management.


filters are missing on mobile view.

# Bug report
Title
Just a quick sentence to brief your trouble with Bagisto or something associated with it.
Please be calm, short and emphasize on points.
Issue Description
Description helps the developers to understand the bug. It describes the problem encountered or some after effect of some kind.
Preconditions
Please provide as detailed information about your environment as possible.
1. framework Version.
2. Commit id.

Steps to reproduce
It is important to provide a set of clear steps to reproduce this bug.If relevant please include code samples.
1. step1
2. step2

Expected result
Tell us what should happen.

[Screenshots, logs or description]

Actual result

Tell us what happens instead.

[points....]

Feel free to reopen this if you are still facing this issue.


There seems to be an error/typo in paper's "Proof of Theorem 1".

Hello! The paper https://arxiv.org/pdf/2205.14135.pdf prove the algorithm’s correctness in appendix C "Proof of Theorem 1". However, it seems to be a typo that $P_{:,:𝑗}V_{:j} = diag(l^{(j)})exp(S_{:,:j} - m^{(j)})V_{:j}$. I think it should be $P_{:,:𝑗}V_{:j} = diag(l^{(j)})^{-1}exp(S_{:,:j} - m^{(j)})V_{:j}$ . And according to the proof given by the paper, it  also should be $diag(l^{(j)})^{-1}$ instead of $diag(l^{(j)})$. Is it a typo?

Yes, that's right. There's a typo where it should be $diag(l^{(j)})^{-1}$ instead of $diag(l^{(j)})$. I'll fix it in the next version.
Thanks for the catch!


Use Separate Cargo Features for Debug 2D and 3D

Currently, the heron crate doesn't expose anything unless either the 2D or 3D features are enabled, but enabling either of those features also enables the debug renderer. This makes it impossible to use heron without enabling the debug rendering crates.
My projects use Bevy Retrograde, which uses a custom renderer on top of Bevy that won't compile when bevy's rendering features are enabled. Because the debug crates require Bevy's rendering features, there's no combination of features under which I can compile heron for use in Bevy Retrograde.
This change makes it required to pass in the debug-2d or debug-3d features in order to actually include the heron_debug. This allows me to run my project without including bevy's rendering features.
I'm not sure this is the best way to do it and I'm totally open to any other options, as long as there is some way to compile without  needing heron_debug.

Good catch, thanks.
I realized recently that the model I use for cargo feature doesn't fly. And it especially bother me that heron violates recomandations of the official cargo book: "features should be additive" and "Enabling a feature should not introduce a SemVer-incompatible change".
I want to rework the features of heron to have only 2 features:

3d
debug

There wouldn't be any 2d feature.. and none of the feature above would be enabled by default.
That means the  usage will be as following:

2d without debug: [] (the default)
2d with debug: ["debug"]
3d without debug: ["3d"]
3d with debug: ["3d", "debug"]

That's the best slution I can propose so far. If you want to try it yourself in this PR you can. But youo don't have to ;-). I'll try to find time this week to do this change.

That's the best slution I can propose so far. If you want to try it yourself in this PR you can. But you don't have to ;-). I'll try to find time this week to do this change.

I think that sounds like a reasonable solution and much nicer. I might get to trying to do that, but I might not. Depends on what I get time for so if you beat me to it then I'll just let you do it. :)

After some digging, I found that to achieve my vision I need a rust feature that isn't stable yet: https://doc.rust-lang.org/cargo/reference/unstable.html#weak-dependency-features
For the time being it looks like we must indeed introducedebug-2d feature. We don't need a debug-3d though, because heron doesn't have a debug renderer.
I'll do some adjustement to your work and merge this PR. Thanks @zicklag ;-)

@zicklag can you rebase your branch on my version of feature/separate-debug-features please?
If the build pass with these changes, it'll be ready for merge :-)

Sweet! Rebased and pushed.

Just pushed a commit to fix the clippy lint name that broke CI.

Just pushed a change that further modifies the way features are handled so that none are default, 2d and 3d features must be enabled to pick one, but you can enable both ( aka. additive ) and it will just treat it as 3D and will compile and run fine. If you enable both, due to stable cargo limitations, it will still include the rapier2d dependencies, though so that would be definitely not recommended. We could otherwise add a compiler error when people do this to prevent accidents, though, which I think I prefer.
Not fully tested, but compiles and tests will run. Will test the demos tomorrow.

Thanks @zicklag . I din't know cfg_aliases. I'll look into that :-)

I had a bug in there that failed to enable debug rendering when the feature was supplied, just pushed a fix for that. All of the examples and tests should be working and passing now.

Pushed a commit that should fix CI's complaints.

Yay! Thank you for heron! It's doing a great job so far.


DROOLS-742 DecisionTableXLSToDecisionTableGuidedConverterTest fix.

See JIRA: https://issues.jboss.org/browse/DROOLS-742

Hello,
Could you please re-instate the test that checks the Model is correct after conversion? Whilst your changes for the "conditions" tests validate the data; they no longer validate the resulting Model classes. I think this is important.
Also, it'd be nice if you could use the code-style formatting we try to adhere to: https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/tree/master/ide-configuration.
Thanks,
Mike

Hi, I made formatting changes. But it looks, that the formatter config which you linked is not actual. I use Idea 14 and i.e. the spaces after and before parenthesis are not there.
Which test do you mean that I should reinstate? I didn't erase any test. I simply joined two tests that were the same . The only difference was in XLS file used and data rows that were checked at the end of the test. Everything that was tested there is still in the tests.

http://github.com/droolsjbpm/drools-wb/commit/dc97bf1bf

Sorry, my mistake. I looked at the code after your change and the test is fine.
Commits squashed and merged into master.
Thanks for the PR.


Fix WASM build and build action

Sorry about that, Github made a breaking change to actions after my PR: https://github.com/actions/runner-images/issues/6283.
This also adds some minimal changes to get WASM building again.

Whoops, forgot to add the clock stuff do, will do that now...

Everything should be good now 🙂


Add tips how to set up proxy if you behind firewall

Add tips how to set up proxy if you behind firewall
If you behind firewall, you may failed to access internet. you need set proxy, then you can download files from internet, to finish the buiding and installation

See https://github.com/youtube/vitess/issues/473

I proposed #478 as an alternative to this. I don't think we need to make the instructions so prominent and explicit. If someone's machine needs a proxy to access the internet, they should know how to set that up on their system. We just need to clarify that bootstrap.sh requires internet access. Please let me know if this addresses your concern.


add security docs

I think this is a good start for those curious about exactly what touches the zkSig system. We can always add more in the future.


Chromecast button appears with the class vjs-hidden

Hello everyone, it's my first project using videojs and chromecast. The objective is to be able to transmit the video that I have stored locally to a TV, however, the chromecast button appears with the vjs-hidden class, could someone tell me what I am doing wrong? I appreciate your comments.

If you look here you can see that the button component will be hidden unless a Chromecast device is detected as being available.


Support for dynamic OnAutoInsert capability registration

Is your feature request related to a problem? Please describe.
OnAutoInsert is not part of the public LSP spec. However the client for the RoslynLanguageServer does send textDocument/_vs_onAutoInsert requests. Currently, this feature only pays attention to the statically registered server capabilities/options and only the C# language server handles these requests. XAML registers its capabilities dynamically with different request options and therefore cannot handle OnAutoInsert.
Describe the solution you would like
OnAutoInsert needs to become a full DynamicFeature to allow static and dynamic DocumentSelector based capability registration.
Applicable Scenarios
XAML editing in VS Code.
Describe alternatives you've considered
n/a
Additional context
n/a

FYI, I'm already working on this. :)


Revit connector cannot send some lighting fixtures with ceilings

Prerequisites

[x ] I read the contribution guidelines
[x ] I checked the documentation and found no answer.
[ x] I checked existing issues and found no similar issue.
[x ] I checked the community forum for related discussions and found no answer.
[x ] I'm reporting the issue to the correct repository (see also speckle-server, speckle-sharp, specklepy, speckle-docs, and others)

What package are you referring to?

RevitConnector
Describe the bug

When you send a Revit model with lighting fixtures, some of them do not 'convert' because they don't 'attach'. It's curious that it alternates b/w sent and errored (not sent).
If ceilings are excluded from the selection, the lighting fixtures go through (as there is no attempt to attached them to anything).

model.zip
Expected behavior

Lighting fixtures should 'attach' to ceilings.
System Info
If applicable, please fill in the below details - they help a lot!
Desktop (please complete the following information):

OS: Windows 10
Revit: '22
SpeckleConnector: 2.10

Proposed Solution (if any)

workaround: setting to send detached objects.

Hey @majidaldo apologies this took a while, this has been fixed in some of our recent MEP prs! Will be included in 2.16!

Hi @majidaldo,
2.16 hasn't been fully released yet, but in the meantime you can download a work-in-progress version of the 2.16 connector by toggling on the "Show pre-releases" option and using the latest wip version from the Speckle manager.


Respeaker 2mic hat issue - no audio

Thank you for reporting an issue with AlexaPi.
Make sure you are running the latest version of AlexaPi, and look through issues before submitting.
Check out our Wiki, and make sure to look at Debugging, and Audio debugging in particular before filing an issue.
In order to help troubleshooting, be sure to include the following information:
Output of the audio debugging script.
Your OS (including version) where you are running AlexaPi:
Raspbian Jessie light the latest build November 2017
Your hardware platform and model you are running on:
Raspberyyi Pi 3 ver B and Respeaker 2mic HAT
Python release (python2 --version):
do not know i followed the instructions for this git to the letter
Description of problem:
I have no audio - i just finished setup and there is no audio input or output, Th respeker HAT was tested before the build with it's drivers and the speaker and mic where working fine,
Expected:
suggestions for resolution
Problem-relevant config.yaml entries:
could be but i am not sure how to define my Respeaker 2mic hat in the config.yalm audio part,
Steps to reproduce:
you need to have a respeaker
Traceback (if applicable):
``
Additional info:
I am reading the  alexa pi git trying to figure out what is going on and running through the audio debug procedure but i got nowhere., I get no sound and i have implemented other assistants like "assistantsPi" with the same HW and same drivers for respeaker and same asound.conf file and worked but "AlexaPi" does not. Is the normal behaviour for the Alexa pi t o autostart on boot and say "Hello" right? but in my case i hear nothing.
Bellow is my asound.conf file and also i have blacklisted the integrated Pi sound-card so not only Respeaker speed2mice appears as card 0 device 0 so the bellow should be working. I also tried deleting the contents of "asoundrc" but no difference now i got "asound.conf" and "asoundrc" identical see file bllow. Maybe i need to edit /etc/opt/AlexaPi/config.yaml and add my input device? but i have no clue how to describe my  Respeaker as I do not know what part of the aplay -l description to use. do you know?
This is the "aplay -i" content:
card 0: seeed2micvoicec [seeed-2mic-voicecard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
BTW This is my asound.conf file:
The IPC key of dmix or dsnoop plugin must be unique
If 555555 or 666666 is used by other processes, use another one
pcm.!default {
type asym
playback.pcm "playback"
capture.pcm "capture"
}
pcm.playback {
type plug
slave.pcm "dmixed"
}
pcm.capture {
type plug
slave.pcm "array"
}
pcm.dmixed {
type dmix
slave.pcm "hw:0,0"
ipc_key 555555
}
pcm.array {
type dsnoop
slave {
pcm "hw:0,0"
channels 2
}
ipc_key 666666
}`

Help please, anyone ?
Please find a link with all of my audio debug info:
pi@raspberrypi:~ $ cd ~ && wget https://raw.githubusercontent.com/alexa-pi/AlexaPi-misc/master/alsa-info.sh && bash alsa-info.sh
--2018-02-08 19:56:14--  https://raw.githubusercontent.com/alexa-pi/AlexaPi-misc/master/alsa-info.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... <IP_ADDRESS>
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 27872 (27K) [text/plain]
Saving to: ‘alsa-info.sh’
alsa-info.sh              100%[===================================>]  27.22K  --.-KB/s    in 0.02s
2018-02-08 19:56:14 (1.15 MB/s) - ‘alsa-info.sh’ saved [27872/27872]
ALSA Information Script v 0.4.64
This script visits the following commands/files to collect diagnostic
information about your ALSA installation and sound related hardware.
dmesg
lspci
lsmod
aplay
amixer
alsactl
/proc/asound/
/sys/class/sound/
~/.asoundrc (etc.)
See 'alsa-info.sh --help' for command line options.
cat: '/sys/module/snd_soc_simple_card/parameters/*': No such file or directory
Automatically upload ALSA information to www.alsa-project.org? [y/N] : y
Uploading information to www.alsa-project.org ...  Done!
Your ALSA information is located at http://www.alsa-project.org/db/?f=e674b5a08ee036f10497e03a3eeeff209f35e994

This in the URL link bellow please find the detailed debug information, i cant get this to work :(
Your ALSA information is located at http://www.alsa-project.org/db/?f=37022a4253e49bbbc09120eb9411cbe71b51c9f8
pi@raspberrypi:~ $ cd ~ && wget https://raw.githubusercontent.com/alexa-pi/AlexaPi-misc/master/alsa-info.sh && bash alsa-info.sh
--2018-02-08 20:07:28--  https://raw.githubusercontent.com/alexa-pi/AlexaPi-misc/master/alsa-info.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... <IP_ADDRESS>
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 27872 (27K) [text/plain]
Saving to: ‘alsa-info.sh.1’
alsa-info.sh.1      100%[===================>]  27.22K  --.-KB/s    in 0.03s
2018-02-08 20:07:29 (865 KB/s) - ‘alsa-info.sh.1’ saved [27872/27872]
ALSA Information Script v 0.4.64
This script visits the following commands/files to collect diagnostic
information about your ALSA installation and sound related hardware.
dmesg
lspci
lsmod
aplay
amixer
alsactl
/proc/asound/
/sys/class/sound/
~/.asoundrc (etc.)
See 'alsa-info.sh --help' for command line options.
cat: '/sys/module/snd_soc_simple_card/parameters/*': No such file or directory
Automatically upload ALSA information to www.alsa-project.org? [y/N] : y
Uploading information to www.alsa-project.org ...  Done!
Your ALSA information is located at http://www.alsa-project.org/db/?f=37022a4253e49bbbc09120eb9411cbe71b51c9f8

@jabulonboaz
The squeaking wheel gets the oil.
You win.
That's page for you. https://github.com/respeaker/seeed-voicecard/wiki/AlexaPi

@Pillar1989 you fixrd it? i will try it immediately!!
One question it will work on the latest Raspbian jassie lite OS - (no desktop GUI) right?
Thank you!

@Pillar1989 same issue this is not working nothing gets installed this way like i mentioned before :
pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0

Big thank you to @Pilar1989 that help me today fix this. Standing by for the explanation but basically the reapeaker 2mic new drivers would not install due to a parameter that is needed at the repi-confi wrt I2C.
Stand by for Pillar1989 explanation.

Now i am trying to make the respeaker 2mic LEDs to come on when alexa is listening and when she responds.

Keeping this open till I can post the respi-config settings that @Pillar1989 changed for me and enabled the new driver to instal

Big thanks to @Pillar1989 for finding in the issue and fixing it for me. Apparently the new drivers would not install due to an i2c configuration or enable issue that neded to be performed in raspi-config. Standing by for @Pillar1989 to post here the options that he changed for others that might run into the same issue to beniefit from too.

alexa is broken after i tried to activate SPIFeb 11 17:17:38 raspberrypi python[470]: ALSA lib pcm_dmix.c:990:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
Feb 11 17:17:39 raspberrypi python[470]: ALSA lib pcm_dsnoop.c:556:(snd_pcm_dsnoop_open) The dsnoop plugin supports only capture stream
Feb 11 17:20:06 raspberrypi python[470]: INFO: Checking Internet Connection ...
Feb 11 17:20:07 raspberrypi python[470]: INFO: Connection OK
Feb 11 17:20:07 raspberrypi python[470]: INFO: AVS token: Requesting a new one
Feb 11 17:20:07 raspberrypi python[470]: INFO: AVS token: Obtained successfully
Feb 11 17:20:17 raspberrypi python[470]: INFO: Triggered: pocketsphinx
Feb 11 17:20:21 raspberrypi python[470]: INFO: (process_response Error) Status Code: 403
Feb 11 17:20:23 raspberrypi python[470]: INFO: Triggered: pocketsphinx
Feb 11 17:20:31 raspberrypi python[470]: INFO: (process_response Error) Status Code: 403

@jabulonboaz  If you could post this fix, that would be great. I'm having the same issue. Audio was working fine. I installed Alexa. I now have no audio output. I'm also using the 2 mics hat.

@DrAlbertWily https://github.com/respeaker/seeed-voicecard/issues/30


Unable to use the newly launched Structured Outputs feature of OpenAI, response_format: { type: "json_schema", json_schema: {"strict": true, "schema": ...} }

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain.js 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.js 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
 const TranslationSchema = z.object({
  translatedText: z.string(),
  entities: z.array(
    z.object({
      ner: z.string(),
      label: z.string(),
      translated: z.string().optional(),
    })
  ),
});
 ...

    return RunnableSequence.from([
      {
        sourceLanguage: () => formattingObject.sourceLanguage,
        targetLanguage: () => formattingObject.targetLanguage,
        genre: () => formattingObject.genre,
        textToTranslate: () => formattingObject.textToTranslate,
        untranslatedNerEntities: () => formattingObject.untranslatedNerEntities,
      },
      prompt,
      (promptValue: any) => {
        const boundModel = this.model.bind({
          response_format: zodResponseFormat(TranslationSchema, "translation"),
        });
        return boundModel.invoke(promptValue);
      },
    ]);

### Error Message and Stack Trace (if applicable)

_No response_

### Description

Unable to use the newly launched Structured Outputs feature of OpenAI, `response_format: { type: "json_schema", json_schema: {"strict": true, "schema": ...} }`

The type of response_format does not support json_schema, and the return value does not contain the JSON data defined by json_schema

### System Info

osx/bun

I bet the answer is not correct.  It should be smth like
.withStructuredOutput(TranslationSchema, {   name: "translate", });
And again with latest 3.1 update and tooling it seems to me functionality is broken somehow. I cant make model to generate appropriate content

Is the encapsulation of the ChatOpenAI class too complex, making it difficult to expand certain fields?
Could there be some configurations that allow for merging when new fields are added?

Updating the response_format type to allow
{
  type: "json_schema",
  json_schema: { ... }
}

is simple, however OpenAI added a new beta endpoint for making requests with this new json schema response format, as well as some utils for converting Zod schemas to their expected JSON schema format. Due to this, it's not as simple as expending the type, and actual code logic changes are required to make it work as intended.

Thanks for your work,  looking forward to this update arriving soon

I am curious shouldn't withStructureOuput directly implement this whe calling OpenAI?

@david8z We can't make withStructuredOutput call with json_schema mode by default as that would technically be a breaking change (any change to default behavior = "breaking" change). I believe we are planning on making withStructuredOutput pass strict: true by default when we bump minor versions next.


Gallery - Moving should also move/delete folder in archive/backup

There is this new functionality that deleting a photo from the gallery offers you to also delete the one from the archive. I really like this function.
However, when moving the photo from the gallery to a Les Pas album, the photo is not moved or deleted from the archive folder. This does not make sense to me, since this will lead to duplicates on the server. I cannot imagine a case where it makes sense to keep the photo in the archive folder if you are moving it from the gallery folder to a Les Pas album.
So, I would be happy if this could be implemented, as well :)

Will be fixed in next release.

I also realized that there is no possibility to view the backup folder located on the server in the Les Pas app anymore. But I guess this is the intended behavior, right?
I guess it is pretty nice, if you don't have to manage two versions of the same folders anymore (local device and server backup), which seems to be possible with the available/upcoming function where you automatically change the content on the server, if deleting/moving pictures on the local device.
If I get it correctly, the goal is to have the possibility of a one-way sync from the local device folders to the backup folder on the server. This means:

If you add pictures on local device, they are uploaded to the server in the backup folder
If you move or delete pictures on the local device, this is also synced to the server
But if you move/delete pictures on the server side in the backup folder, this change should not get synced to the local device. I guess this makes sense, if you consider this to be a backup functionality only.

If I got this correct, it would be probably nice to mention this new functionality briefly in the "About Synchronization" part of the Readme.

Will be fixed in next release. I assume a confirmation wouldn't be necessary, just act by the setting

I would be very grateful if this small fix could still be implemented :) Thanks a lot for all the work!

It's already fixed. No time to release it since I'm not with my development machine for the whole month.

Ah ok, I see. Nice, thanks for the info!


How to install with CuDNN 9.0+ ?

I found the fp8 dpa need CuDNN 9.0.1+, so I install pytorch 2.5.0+cu121. And I modify some source code, so I install TransformerEngine from source, but it failed.
And I found the log:
-- cudnn_adv_infer found at /usr/lib/libcudnn_adv_infer.so.
-- cudnn_adv_train found at /usr/lib/libcudnn_adv_train.so.
-- cudnn_cnn_infer found at /usr/lib/libcudnn_cnn_infer.so.
-- cudnn_cnn_train found at /usr/lib/libcudnn_cnn_train.so.
-- cudnn_ops_infer found at /usr/lib/libcudnn_ops_infer.so.
-- cudnn_ops_train found at /usr/lib/libcudnn_ops_train.so.
CuDNN 9.0+ lib don't have this *.so.
How to fix it?

Hi @tianyan01 , I think the easiest way to try out cuDNN might be the NGC PyTorch containers. For example, nvcr.io/nvidia/pytorch:24.03-py3 has cuDNN 9.0.0, and nvcr.io/nvidia/pytorch:24.04-py3 and nvcr.io/nvidia/pytorch:24.05-py3 have cuDNN 9.1.0. Otherwise, following the instructions here (https://developer.nvidia.com/cudnn) can be another way.
When re-installing TransformerEngine, please clear the build/ or build_tools/build/ directory from previous compilation first before trying to re-install. Also, you can try environment variables like this for custom CUDA or cuDNN paths: CUDA_HOME=/path to cuda/ CUDNN_PATH=/path to cudnn/ pip -v install .

Can TransformerEngine be installed with cudnn from conda? I guess users without sudo cannot install cudnn easily.

Hi @tianyan01 , I think the easiest way to try out cuDNN might be the NGC PyTorch containers. For example, nvcr.io/nvidia/pytorch:24.03-py3 has cuDNN 9.0.0, and nvcr.io/nvidia/pytorch:24.04-py3 and nvcr.io/nvidia/pytorch:24.05-py3 have cuDNN 9.1.0. Otherwise, following the instructions here (https://developer.nvidia.com/cudnn) can be another way.
When re-installing TransformerEngine, please clear the build/ or build_tools/build/ directory from previous compilation first before trying to re-install. Also, you can try environment variables like this for custom CUDA or cuDNN paths: CUDA_HOME=/path to cuda/ CUDNN_PATH=/path to cudnn/ pip -v install .

Thanks! "CUDNN_PATH=/path to cudnn/ pip -v install ." is worked. During install from main branch, I found a bug in transformer_engine/pytorch/csrc/userbuffers/userbuffers.cu, which was fixed in https://github.com/NVIDIA/TransformerEngine/pull/560, but changed back in https://github.com/NVIDIA/TransformerEngine/pull/757.
Althrough I successfully installed TE, when I run "import transformer_engine", I got the OSerror:
OSError: /path/to/transformer_engine/libtransformer_engine.so: undefined symbol: cudnnGetLastErrorString
Do I need to set environment variables?


Fix #2818

Following the suggestion from here:

A quick fix might be to do the merge in RealResponseWriter so that we do not overwrite the entries in buffer. The different values will come from different ResponseField but maybe it's not a big issue.

Also added an integration test based on the reproducer, as suggested by @BoD (thank you!).

Thanks for the contribution!


Backport PR #421 to 2.0

Description
This PR backports #421
Issues Resolved
#414
Check List

[x] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #423 (34be75c) into 2.0 (22ad271) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##                2.0     #423   +/-   ##
=========================================
  Coverage     84.01%   84.02%
  Complexity      911      911
=========================================
  Files           130      130
  Lines          3879     3880    +1
  Branches        359      359
=========================================
+ Hits           3259     3260    +1
  Misses          458      458
  Partials        162      162

Impacted Files
Coverage Δ

...earch/knn/plugin/script/KNNWhitelistExtension.java
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


How do I use it on the Ubuntu 18.04 ( GNOME ).?

Here's what I did:

Downloaded the .zip of the repo.
Extracted the .zip and cd 'd into the folder.
Ran " sudo make install " , because " make install " threw permission errors.

Now,

I ran i3-gnome, says " /usr/bin/i3-gnome: 8: /usr/bin/i3-gnome: i3: not found "
CD 'd into /usr/bin and found these:
---------------+-----------------
dbus-run-session
gnome-session
gnome-session-custom-session
gnome-session-i3
gnome-session-inhibit
gnome-session-properties
gnome-session-quit
session-migration
x-session-manager
-------------+-----------
And I don't see any icon to change to i3+gnome on my login screen, again , THIS IS UBUNTU 18.04 ( GNOME ).

Point me in the right direction please.
Thank You for Your Time.

Oops, turns out I was too dumb to find it out in the first try.

Closing


[Event Request] Codeunit 23, 213, 1013, 5633, 5653 - UpdateAnalysisView

We have own Analysis Views which have to be updates after item item Journal Posting.
Therefore an Event is missing after "UpdateItemAnalysisView" and before COMMIT like "GenJnlBatch.OnMoveGenJournalBatch(GLReg.RECORDID);" of codeunit 13
--- procedure Code of codeunit 23 ---
Window.CLOSE;
IF NOT SuppressCommit THEN
COMMIT;
CLEAR(ItemJnlCheckLine);
CLEAR(ItemJnlPostLine);
CLEAR(WhseJnlPostLine);
CLEAR(InvtAdjmt)
END;
UpdateAnalysisView.UpdateAll(0,TRUE);
UpdateItemAnalysisView.UpdateAll(0,TRUE);
-->Missing Event
IF NOT SuppressCommit THEN
COMMIT;
--- procedure Code of codeunit 213 ---
COMMIT;
END;
UpdateAnalysisView.UpdateAll(0,TRUE);
-->Missing Event
COMMIT;
--- procedure Code of codeunit 1013 ---
UpdateAndDeleteLines;
COMMIT;
END;
UpdateAnalysisView.UpdateAll(0,TRUE);
UpdateItemAnalysisView.UpdateAll(0,TRUE);
-->Missing Event
COMMIT;
--- procedure Code of codeunit 5633
CLEAR(FAJnlCheckLine);
CLEAR(FAJnlPostLine);
END;
UpdateAnalysisView.UpdateAll(0,TRUE);
-->Missing Event
COMMIT;
--- procedure Code of codeunit 5653 ---
COMMIT;
CLEAR(InsuranceJnlCheckLine);
CLEAR(InsuranceJnlPostLine);
END;
UpdateAnalysisView.UpdateAll(0,TRUE);
-->Missing Event
COMMIT;
--- procedure Code of codeunit 13 ---
IF NOT SuppressCommit THEN
COMMIT;
CLEAR(GenJnlCheckLine);
CLEAR(GenJnlPostLine);
CLEARMARKS;
END;
UpdateAnalysisView.UpdateAll(0,TRUE);
GenJnlBatch.OnMoveGenJournalBatch(GLReg.RECORDID);
IF NOT SuppressCommit THEN
COMMIT;
IF SkippedLine AND GUIALLOWED THEN
MESSAGE(SkippedLineMsg);

Can you please be more specific, reference to COD13 does not answer which events you need in pother places and for what purpose? Please provide event definition with parameters and properties and where it should be called for each case.

Here is the Code of codeunit 13 where the Event GenJnlBatch.OnMoveGenJournalBatch(GLReg.RECORDID) is called.
-- procedure Code of codeunit 13 ---
IF NOT SuppressCommit THEN
COMMIT;
CLEAR(GenJnlCheckLine);
CLEAR(GenJnlPostLine);
CLEARMARKS;
END;
UpdateAnalysisView.UpdateAll(0,TRUE);
GenJnlBatch.OnMoveGenJournalBatch(GLReg.RECORDID);
IF NOT SuppressCommit THEN
COMMIT;
IF SkippedLine AND GUIALLOWED THEN
MESSAGE(SkippedLineMsg);
As you can see in the othe codeunits mentioned (see ), there is a equal event call missing. Mybe it should be implemented in the same way with the same paramters than GenJnlBatch.OnMoveGenJournalBatch(GLReg.RECORDID) or as and event call like
OnAfterUpdateAnalysisView(..JnlPostine,..Reg)

Please, reopen it.

Reopen it.

Any Proggress?

@AlexanderYakunin Can you start with the last comment and the bold spots? It's hard for me to pledge the exact structure of the event. I mean, they should all be the same, but the code in the posts isn't always the same. So I just marked the code places where I missed the event.

Let's take COD80 as example. We already have event OnAfterPostSalesDoc in the end. Here you have Rec (=Sales Header) and GenJnlPostLine. And also posted document numbers. Why do you need specific event after UpdateAnalysisView then, can you use this event for your purpose?

In that issue noCOD80 is mentioned.
But in base Code function UpdateAnalysisView is only called IF NOT (InvtPickPutaway OR SuppressCommit)
And Event OnAfterPostSalesDoc will be called every time. That's the reaseon for a new Event for COD80.

Sorry, I don't understand how you are going to use GenJnlBatch.OnMoveGenJournalBatch(GLReg.RECORDID);? Can you please explain your scenario and provide exact code sample for implementation of new event in COD23, for example?

Let me add that we have new event OnAfterUpdateAll(Which,DirectlyFromPosting) in UpdateAnalysisView.UpdateAll, so you can use it for any update across application,

Will this new event come with the next CU1 for BC on Prem?

It will come in next minor update, but next OnPrem release will be in 6 months

Won’t we get cumualtive updates every month than for NAV 2018?
Von: Alexander Yakunin<EMAIL_ADDRESS>Gesendet: Dienstag, 16. Oktober 2018 14:15
An: Microsoft/AL<EMAIL_ADDRESS>Cc: Stefan Martin<EMAIL_ADDRESS>State change<EMAIL_ADDRESS>Betreff: Re: [Microsoft/AL] [Event Request] Codeunit 23, 213, 1013, 5633, 5653 - UpdateAnalysisView (#3008)
It will come in next minor update, but next OnPrem release will be in 6 months
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/AL/issues/3008#issuecomment-430214226, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXWTjxIYiK0ULD6u0ZWjMfwHBTtxkj3Pks5ulc3ZgaJpZM4VbxjY.

You will get monthly updates for earlier supported versions including NAV 2018 as before, although please do not expect new events to be implemented for NAV 2018. We implement event requests into latest branch only, so monthly updates for D365 BC will contain all events. And will be available via cloud only. Next OnPrem release is scheduled for Spring 2019.

For more details see: https://blogs.msdn.microsoft.com/nav/2018/05/03/al-developer-previews-multiple-releases-and-github/

I'm going to close this request, please let me know if you still need it after implementation of events in UpdateAnalysisView.UpdateAll.


Showing Measurement on Line and Polygon

Hello, first, I want to show this is a great plugin. I am able to show measurement on line and polyon by integrating this with leaflet plugin (Leaflet Measure Path by ProminentEdge) in the option.
map.pm.setPathOptions({
showMeasurements: true,
});
But, I do not know how to update those measurements when I edit a line or polygon. I am new to leaflet. Could you please help me?

This isn't an issue with leaflet.pm so I close this but I tried this for you:
I haven't been able to make @prominentEdge's plugin Leaflet Measure Path working but from what I understand something like this should work, provided his plugin works:
map.on('pm:create', function(e) {
  // the layer you just created
  var layer = e.layer;

  // show measurements
  layer.showMeasurements();

  // update measurements on edit
  layer.on('pm:edit', function() {
    layer.updateMeasurements();
  });
});

thank you. It works great.


ceylon.test testExtension on a class invoking TestListener.testStarted()/testFinished() instead of testRunStarted() testRunFinished()

This is a regression from 1.2.0.
When ceylon.test should be invoking testRunStarted() and testRunFinished() before and after (respectively) all tests in a unit test class have executed, it's invoking testStarted() and testFinished() instead.
import ceylon.test {
    test,
    assertTrue,
    TestListener,
    testExtension
}
import ceylon.test.event {
    TestRunStartedEvent,
    TestRunFinishedEvent,
    TestStartedEvent,
    TestFinishedEvent
}

shared class MyListener() satisfies TestListener {
    shared actual void testRunStarted(TestRunStartedEvent event) {
        print("Test RUN started");
    }

    shared actual void testRunFinished(TestRunFinishedEvent event) {
        print("Test RUN finished");
    }

    shared actual void testStarted(TestStartedEvent event) {
        print("Test started");
    }

    shared actual void testFinished(TestFinishedEvent event) {
        print("Test finished");
    }

}

testExtension(`class MyListener`)
shared class TestCeylonTest() {
    test
    shared void testMe1() {
        print("testMe1");
        assertTrue(true);
    }

    test
    shared void testMe2() {
        print("testMe2");
        assertTrue(true);
    }
}

Expected Results:
Test RUN started
Test started
testMe1
Test finished
Test started
testMe2
Test finished
Test RUN finished

Actual Results:
Test started
Test started
testMe1
Test finished
Test started
testMe2
Test finished
Test finished

Confirmed, thanks @lukedegruchy for noticing, I'll fix it ASAP.

Done via 89f0777. (let me know if you want new version or you are on master anyway)

My preference would be for a new version (<IP_ADDRESS>?) but I can work off of master if this is not possible.

(I think we would tend to use 1.2.1-1)

I pushed changes into 1.2.1-fixes branch, @quintesse could you publish it to Herd please.

@thradec https://herd.ceylon-lang.org/modules/ceylon.test/1.2.1-1

thanks @quintesse

This is definitely fixed, but I've seen something odd, and I'm not sure if it's by design:
There are two "Test started" lines output before the first unit test.   There are two "Test finished" runs for the last unit test.   Is this by design, or should I file another bug?
Test RUN started
Test started
Test started
testMe1
Test finished
Test started
testMe2
Test finished
Test finished
Test RUN finished

I think that with test descriptions the output will be obvious ;-)
Test RUN started
Test started - TestCeylonTest
Test started - TestCeylonTest. testMe1
testMe1
Test finished - TestCeylonTest. testMe1
Test started - TestCeylonTest. testMe2
testMe2
Test finished - TestCeylonTest. testMe2
Test finished - TestCeylonTest
Test RUN finished


WIP: Revert OTel expiration code

I think I cherry picked to revert the relevant commits to undo our disablement of OTel metric expiration. I want to keep this as a separate branch for now, so we can test the fix for the wild numbers seen when metrics were expired.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 52.62%. Comparing base (96546fb) to head (251d1e8).

:exclamation:  There is a different number of reports uploaded between BASE (96546fb) and HEAD (251d1e8). Click for more details.
HEAD has 3 uploads less than BASE

Flag
BASE (96546fb)
HEAD (251d1e8)

oats-test
1
0

k8s-integration-test
1
0

integration-test
1
0

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1143       +/-   ##
===========================================
- Coverage   82.03%   52.62%   -29.42%
===========================================
  Files         141      141
  Lines       11595    11611       +16
===========================================
- Hits         9512     6110     -3402
- Misses       1558     5095     +3537
+ Partials      525      406      -119

Flag
Coverage Δ

integration-test
?

k8s-integration-test
?

oats-test
?

unittests
52.62% <100.00%> (+0.22%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


fix: [CDS-83545]: revert changes to go mod

Describe your changes
Comment Triggers

PR Check triggers

Build: trigger build
Sub Category Field Check: trigger subcategoryfieldcheck
gitleaks: trigger gitleaks

This pull request has been automatically closed due to 30 days of inactivity. If you believe this was done in error, please feel free to reopen the PR or reach out to the BT team for further assistance. Thank you for your contributions!


Please provide a license

Hi, congratulations on your excellent work!
I wonder whether you can provide a license for your code.
Thanks.

DiffAE is now under the MIT license. Enjoy! https://github.com/phizaz/diffae/pull/21

Thanks!
By the way, how long is needed when I use 4 V100 to train a model on the celebahq dataset?

In the supplementary, DiffAE trains at the following throughput:

With 128x128, it should take 5 days to reach 72M images (reasonably good).
With 256x256, it would take 4x more time than that.


You absolute boofoons

Type: Feature Request
Imagine not being able to place editor tabs to be on the right side of the editor, f-ing cringe be more inovative like jetbrains where you can literally just select which side you want your tabs on. disapointed and rightfully mad at this open source bs
VS Code version: Code 1.94.2 (384ff7382de624fb94dbaf6da11977bba1ecd427, 2024-10-09T16:08:44.566Z)
OS version: Windows_NT x64 10.0.22631
Modes:

Some 13 years old when they are released from discord hospital.

Be professional if you are going to ask for things! Cheers.

/duplicate of #108264 as long a that one (if ever implemented) gives a left/right choice.


Fix interfaces and unions in DocumentationExplorer

Fixes #121.
Pass the schema down from DocExplorer into TypeDoc so that it can be used to resolve possible types for interfaces and unions.

Thank you thank you :)


How to run llama in the examples

Hi, I am trying to use EasyDel to democratize LLaMa, but I cannot find guide about how to run this model.
Could you please give me some hint about the EasyDel LLaMa launch script, such as repo_id and dataset_name? Thanks!

yes for sure
Llama Models Serving Documents
and in case you want to pre-train fine-tune a model or maybe use RL-HF I'm creating a tutorial for that Right Now

here you go
Training Example

here you go
Training Example

Thanks! Just another question about the dataset.
I see in the docs dataset_train = load_dataset('REPO_ID_PATH_TO_DATASET'), but could you give an example of such REPO_ID_PATH_TO_DATASET?

yes here you can see an example for how to preprocess data for EasyDel Trainer but you need to install the library from pip+git cause I have added this right now and it's now supported via when you install package via pip install EasyDel
pip install git+https://github.com/erfanzar/EasyDeL.git

I am sorry I still have some confusion.
Sicne the readme indicates that flash_attn is implemented, I want to know how flash attention is implemented on llama. I don't find codes about flash_attn.

actually, EasyDel for some parts is only a Code Stand for the Backend of EasyDel
some process like

partitioning
Linen Bits
Flash Attention
optimizers

and many more being processed in FJFormer
and here's (EfficientAttention) what I guess you looking for

I got it. Thanks @erfanzar !
You did awesome work!


In Linux, every first time the current VS Code tries to connect to a pod, it returns a connection refused error

Bug Description
See title. Subsequent attempts look fine.
Steps to Reproduce
N/A
Backtrace
No response
Relevant Logs
No response
Your operating system and version
Linux
Local process
N/A
Local process version
No response
Additional Info
No response

Seems to have been closed with #1604


Update to Bevy 0.10

Description
Fix #264
Bevy version is pinned to a recent commit on the main branch.
Test Plan
Run examples and tests. Behavior should be the same.

Hmm, not sure if it's possible to create a looping system set with 0.10. I need to recreate the behavior of the event loop which previously used run criteria to do this. Might have to reorganize things and use a dedicated Schedule for the event loop instead.

Here is also used hardcoded batch size:
https://github.com/valence-rs/valence/blob/cc2571d7e618172ea719430d62a49d3207fe64cc/crates/valence/examples/chat.rs#L68
Should it be changed to par_iter_mut().for_each_mut()?

I'm still updating the examples, but it probably shouldn't be running in parallel to begin with.