ImportError: cannot import name 'printf'

Immediately upon attempting to import, get the error message below
from rbc.omniscidb import RemoteOmnisci
ImportError: cannot import name 'printf' from 'rbc.irtools' (/opt/conda/lib/python3.7/site-packages/rbc/irtools.py)
Tried with release and with github master
rbc-project-0.4.1+74.g447b0c7

The Python function printf is defined in rbc/irtools.py. Hence, this import error could be due to having irtools.py from some older version of rbc that did not have printf defined. The printf feature was introduced in rbc 0.3.0.
Try removing older versions of rbc from your Python installation and then reinstalling the latest rbc.

On another note, it looks like you are using conda but rbc is installed using pip. In a conda environment, the rbc should be installed via conda install -c conda-forge rbc.

Resolving as won't-fix because no feedback and the issue can be avoided when installing rbc properly.


HTML

HTML
User story
As a bootcamp student
I want the pre work notes to be structured on a webpage
so that I can easily find and read information
Acceptance criteria
GIVEN a Prework study guide website
WHEN I visit the website in my browser
THEN I see four boxes titled HTML, CSS, GIT, and JavaScript with associated notes listed

Completed adding code to HTML section of code


Add my Portfolio Card UI

Please kindly assign me to contribute my Card UI.

Please kindly assign me to contribute my Card UI.

don't create a seperate issue for it see issue #65 ,ask there ok


Bugfix: target virt-launcher pod hangs when migration is cancelled

What this PR does / why we need it:
When virt-launcher starts, it searches for qemu-kvm PID.
If a virtual machine migration is created and then cancelled, before the virt-launcher detects the qemu-kvm process pid, the target virt-launcher is not cleaned up immediately and waits for the qemu-timeout (which is 3 minutes by default).
It will wait in the refresh monitor here https://github.com/kubevirt/kubevirt/blob/f77d50591ddd0f74c0c876e38fdf14ca3fe54be8/pkg/virt-launcher/monitor.go#L126.
This PR fixes this bug by stopping to search for the PID if the migration is cancelled.
This PR also adjusts a functional test that I confirm that fails without these changes and passes after them.
Which issue(s) this PR fixes:
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2161184
How to reproduce:

run > ./cluster-up/kubectl.sh create -f examples/vmi-migratable.yaml.
run > ./cluster-up/kubectl.sh create -f examples/migration-job.yaml; sleep 5; ./cluster-up/kubectl.sh delete -f examples/migration-job.yaml
See the target virt-launcher hangs for a few minutes.

Release note:

Bugfix: target virt-launcher pod hangs when migration is cancelled.

/cc

Thanks for reviewing! Comments are addressed
@xpivarc PTAL

@xpivarc PTAL

@iholder101 Can you have a look on the flake lane? It could be related

After consulting with @brianmcarey, since the pull-kubevirt-check-tests-for-flakes lane might be flakie, I'll re-run the migration lane to make sure these tests don't fail again there.
/test pull-kubevirt-e2e-k8s-1.25-sig-compute-migrations

/test pull-kubevirt-e2e-k8s-1.25-sig-compute-migrations

/test pull-kubevirt-e2e-k8s-1.25-sig-compute-migrations

@iholder101 Can you have a look on the flake lane? It could be related

After consulting with @brianmcarey, since the pull-kubevirt-check-tests-for-flakes lane might be flakie, I'll re-run the migration lane to make sure these tests don't fail again there.
/test pull-kubevirt-e2e-k8s-1.25-sig-compute-migrations

@xpivarc @iholder101 - it looks like the check-for-flakes lane is taking the latest provider (1.28 which is not yet gating) and it is just using a two node cluster where as the migration tests are usually run against a three node cluster so in this case it might not be fit for the migration tests.
The compute-migrations lane has passed numerous times on this PR so I think we should be ok to rule out flakes here.

/cherry-pick v1.0.0
/cherry-pick v0.59.0
/cherry-pick v0.58.0

/cherrypick release-1.0
/cherrypick release-0.59
/cherrypick release-0.58

/cherrypick release-0.59

/cherrypick release-0.58


Ability to select AWS Region

Is your feature request related to a problem? Please describe.
The SageMaker Studio Lab would be so much useful if we could select the region as well. NASA's Earthdata is on us-west-2 and studio lab is not useful for direct access of NASA datasets when it launches randomly in differently regions (currently it launches on us-east-2)
Describe the solution you'd like
The project interface could have another drop-down to select the AWS region.

Describe alternatives you've considered
No alternatives are currently available.
Additional context
NA

It seems that sagemaker can access data on us-west-2 even if it is launched to us-east-2. Sorry for not checking before I posted here.


Make OperationalDeviceProxy shareable by multiple applications, and delivers its callbacks to multiple applications

Problem

1: If an application context is released before the pairing completes, will render the pointer passed into OnDeviceConnected dangling
2: in OperationalDeviceProxy::DequeueConnectionCallbacks we may use member fields which is already destructed

cb->mCall(cb->mContext, mPeerId, error)

We are loop for all callbacks here, but this object may already destructed by previous callback, so mPeerId may not valid here

cb->mCall(cb->mContext, this)

Obviously, this may not valid here

Proposed Solution

Implement a type-safe and RAII style callback queue using IntrusiveList to solve problem 1
When implementing DequeueConnectionCallbacks, split the function into 2 parts:

Move the callback queue to a stack variable
Use an static member function to call all callback, to ensure that no member fields is used

The plan is to stop passing this to the callbacks altogether and just pass the session handle, right?  So problem 1 is not worth worrying about, I suspect.
The use of mPeerId is a problem; very good catch there.  Factoring out the callback-calling into a static function to avoid those problems seems good.

In DeviceCommissioner::OnDeviceConnectedFn, this (an OperationalDeviceProxy) is being used. So, problem 1 still need some attention.

The context pointer in the callback is dangling, calling the callback after its context is released will yield pretty bad result.

Anything that releases the context should Cancel() the callback, no?  That's why we are using cancelables here....  I thought you meant the pointer to the OperationalDeviceProxy could dangle, for point 1.

In DeviceCommissioner::OnDeviceConnectedFn, this (an OperationalDeviceProxy) is being used. So, problem 2.2 still need some attention.

Problem 2.2 is what "just pass in the session instead" will solve, right?

I'm really frustrated dealing with object freeing itself inside its member function

Sure.

can we just give OperationalDeviceProxy a reference counter and call it a day ?

Again, the plan is to not have OperationalDeviceProxy at all.

@bzbarsky-apple When trying to solve problem 2.2, the OperationalDeviceProxy object is passed to ClusterBase::Associate which assigned to ClusterBase::mDevice.
So I have to change mDevice to a session handle, this should be a straightforward and simple change, but not small. Also need to add a member of pointer to ExchangeManager to ClusterBase, which may impact memory usage.

I'm labelling this 1.0 since this will become more imperative when we have multiple consumers of OperationalDeviceProxy in the SDK (IM will be one of them...)

@kghost Just to allay the ClusterBase concern: those are stack-only objects in practice.

This is not completed. #19673 just unblocks the core work for this issue.

As part of addressing this, we should also remove CASESessionManager::Release* APIs as well.

SVE/Cert Blocker Review: Does not appear to be blocking a test case, removing SVE.


[fix] project requires tslint >= 4.3.0

Some of the rules now implement fixers which depend on the method
createFix which was introduced in
https://github.com/palantir/tslint/commit/e933f7d85b120041b64c5ce7edcfbb
df80e57926.

Closes #186


Add pagination to commit graph page

fixes #8308
Commits = 224
Page Size = 25
Should be 9 page as seen

Codecov Report

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

@@            Coverage Diff            @@
##             master    #8360   +/-   ##
=========================================
  Coverage          ?   41.76%
=========================================
  Files             ?      496
  Lines             ?    65589
  Branches          ?        0
=========================================
  Hits              ?    27395
  Misses            ?    34680
  Partials          ?     3514

Impacted Files
Coverage Δ

models/graph.go
81.35% <100%> (ø)

routers/repo/commit.go
27.96% <100%> (ø)

Continue to review full report at Codecov.

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

I've just pulled this PR for testing, and somehow the paging is not working for me in the commit graph (it does in the commit list):

I've manually added the ?page=3 query string:

Notice that even if the colors change, the information is the same in page 1 and page 3.
The bottom of the page looks like this:

Here's the bottom of the page in the commit list (working alright):

Make lg-tm work


Only show show recently opened folders if they exist

When I bring up the recently opened section and search for a folder it shows deleted or moved folders. It would be great for cleanliness if the deleted files/folders wouldn't be shown.

this would involve having the history service check each entry for existence and destroying it. not only is this expensive itself with a lot of entries, some may be transient and we cannot know if the item is deleted or only present sometimes. for this reason, we only check the status when the user tries to open the file/folder.

sorry @Matt-Gleich, but if you are not aware, when you try to open a deleted file, it will ask to be removed from the list so you can manually clean up


isolate_post_checkout path in help message is incorrect

The message produced by a non executable hook file displays the path incorrectly with double /.
The isolate_post_checkout hook was found at

    /Users/hedges/projects/client/foo/api//.git-ps/hooks/isolate_post_checkout

  but it is NOT executable. Due to this the hook is being skipped. Generally
  this can be corrected with the following.

    chmod u+x /Users/hedges/projects/client/foo/api//.git-ps/hooks/isolate_post_checkout

ummm I'm sick. 🙃

It does have extra / but I think it is still functionally ok

Yes still functionally ok 👍


[ko] Translate /content/ko/training/_index.html

The relationship between subject and predicate was not natural.
To make it easier for users to understand, we modified the relationship between subject and predicate.

Hi @bricksky
Thank you for the suggestion ! :)
I think the original sentence is natural and looks aligned with the English source.
공인 쿠버네티스 애플리케이션 개발자 시험은 사용자가 쿠버네티스의 클라우드 네이티브 애플리케이션을 디자인, 구축, 구성과 노출을 할 수 있음을 인증합니다.
The Certified Kubernetes Application Developer exam certifies that users can design, build, configure, and expose cloud native applications for Kubernetes.
공인 쿠버네티스 애플리케이션 개발자 시험은 X을 인증합니다.
if X = 사용자가 쿠버네티스의 클라우드 네이티브 애플리케이션을 디자인, 구축, 구성과 노출을 할 수 있음
What do you think so ?

By the way, You can use Korean for comments if you prefer. :)

I think 사용자가 can be removed from the sentence to minimize misunderstanding.

/assign @seokho-son

PTAL @bricksky :)

I think 사용자가 can be removed from the sentence to minimize misunderstanding.
agreed.

Thank you @bricksky 👍

Hi @bricksky,
It appears that this PR has become stale. Based on the decision from the SIG Docs localization subproject, if a PR author does not provide feedback to reviewers for 3 months, localization leads will assume the PR is stale and close it.
Please feel free to reopen this issue if you are willing to continue with it.
/close


Calcluating "maximum vertex distance" within an element

I am implementing some stabilization methods that rely on the "maximum vertex distance" of an element. I'm implementing this within a Coefficient so I have access to the element data, but it seems like an element with N vertices would require calculating N*(N-1) distances for each call to Coefficient::Eval().
For now, I'm using the "effective diameter" as an analog.
const double volume = pmesh->GetElementVolume(T.ElementNo);
double h;
if (pmesh->Dimension() == 3)
  h = std::cbrt(6.0/M_PI*volume);
else if (pmesh->Dimension() == 2)
  h = std::sqrt(4.0/M_PI*volume);

However, I'd like to evaluate the maximum vertex distance so I can compare to literature. Maybe using a QuadratureFunction since that loops through elements?
Thanks!

Hi @wcdawn,
You can use pmesh->GetElementVertices() and pmesh->GetVertices() to obtain the vertex coordinates of an element.
Vladimir

Thanks!
The code I came up with looks like
    double h{0.0};
    Array<int> vertices;
    pmesh->GetElementVertices(T.ElementNo, vertices);
    for (int i{0}; i < vertices.Size(); ++i)
    {
      const double *v1{pmesh->GetVertex(vertices[i])};
      for (int j{0}; j < vertices.Size(); ++j)
      {
        if (i == j) continue;
        const double *v2{pmesh->GetVertex(vertices[j])};
        double dist = 0.0;
        for (int d{0}; d < pmesh->Dimension(); ++d)
          dist += std::pow(v1[d] - v2[d], 2);
        dist = std::sqrt(dist);
        h = std::max(h, dist);
      }
    }

It is painfully slow but I guess calculating the maximum vertex distance may be doomed from the start.
I'll definitely be looking to replace this using the effective diameter or a similar metric.


Not getting trace id and span id when application crash

Hello,
I am new to otel and android both. After running demo app i have followed steps to make application crash.
here i am getting logs in otel collector but not getting trace id and span id for same.
Pls help !!!

Hi!
OpenTelemetry has 3 types of data, called signals, which are Traces, Metrics and Logs.
Trace id and Span id attrs are only present when there's a Span involved, and application crashes are sent using Logs instead.
However, Logs can get the span and trace id attrs if they are created inside a Span, for example:
// This function only sends a log and there are no spans involved, so the log won't get any span id nor trace id info:
fun sendLogOnly() {
  val openTelemetry: OpenTelemetry
  openTelemetry.logsBridge.get("myLogger").logRecordBuilder().setBody("Log body").emit()
}

// This other function creates a log with trace and span id:
fun sendLogWithTraceInfo() {
  val openTelemetry: OpenTelemetry
  val span = openTelemetry.getTracer("myTracer").spanBuilder("My Span").startSpan()
  span.makeCurrent().use {
        // This log is created inside a span, so it will get the trace attrs.
        openTelemetry.logsBridge.get("myLogger").logRecordBuilder().setBody("Log body").emit()
  }
  span.end()
}

For more info on how to create spans and logs, I'd suggest taking a look at the Java docs: https://opentelemetry.io/docs/languages/java/
OTel Android sends crashes as Log signals, which means that there has to be an active span in the same thread where the crash occurred for it to contain trace attrs. So you will probably get some crashes with this info and some others without it. In theory, the more spans you have around your app, the more chances there will be of crashes containing this info.

@LikeTheSalad  Is it possible you to share new version of android agent library which will have span_id and trace_id in logs as well because changes required in instrumentation config.

I'm not sure I'm following.
If you'd like to see trace_id and span_id in logs you need to make sure to have a Span marked as "current", by calling span.makeCurrent() as I showed in my previous example. Logs on their own can't have a trace_id and span_id, that's something outside the scope of this project.

because seems changes required in instrumentation module

Can you please elaborate a bit more on what changes and where are you referring to?

@LikeTheSalad
https://github.com/open-telemetry/opentelemetry-android/blob/main/instrumentation/crash/src/main/java/io/opentelemetry/android/instrumentation/crash/CrashReporter.java

what change i need to do in above line.

Nothing, as long as there's a span marked as "current" in the thread, that log should be provided with the trace and span ids. For example:
fun crashWithTraceInfo() {
  val openTelemetry: OpenTelemetry
  val span = openTelemetry.getTracer("myTracer").spanBuilder("My Span").startSpan()
  span.makeCurrent().use {
        throw RuntimeException() // This crash should contain the trace and span ids from the span marked as current in the line above.
  }
  span.end()
}

I haven't tested it, though in theory that's the way you should be able to get trace info in crashes.

@tech-ind-02 did the advice from @LikeTheSalad work out for you? 🙏🏻


Update sbt-scoverage to 1.9.2

Updates org.scoverage:sbt-scoverage from 1.7.3 to 1.9.2.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scoverage", artifactId = "sbt-scoverage" } ]

labels: sbt-plugin-update, early-semver-minor, semver-spec-minor

Superseded by #95.


Reverse Proxy

[x] Select a port from the list of available port ranges
[x] Register route handlers
[x] Proxy TLS support
[x] Ocis-konnectd toggle tls (https://github.com/owncloud/ocis-konnectd/issues/37)
[x] Update the default registration yaml (https://github.com/owncloud/ocis-konnectd/issues/32)
[x] Bridge host address configurable
[ ] Add ocis-bridge to runtime to start with ocis-server

How to run the single binary behind the proxy
pre-requirements
until point 4 (ocis-konnectd tls toggler) if available, you'd need to manually disable tls on the konnectd extension and update your go.mod with your local ocis-konnectd. Hence why this is using go run for ease of mind.
Create the require folder structure by reva
mkdir /var/tmp/reva/{data,root}

1.  Log in
credentials:
username: albert
password: relativity

4. Once you log in you should see the files app

Fixes https://github.com/owncloud/ocis/issues/136

@micbar Is ocis-bridge command still a priority?


Skip compilatiion units whose output doesn't match a given regex

Being able to write out 25G of pretty-printed DWARF isn't all that useful on its own. It's much more useful if we can filter the output to specific compilation units containing output of interest. Here I add an option to print the output for a compilation unit only if it matches a specific regex. Note that this is much more useful than filtering by compilation unit name; for example we can search for mentions of specific function or type names without needing to know which compilation units reference those names.

Coverage remained the same at 92.506% when pulling c28ede40c99536a0bb1754ddf05f5479a4cf0633 on rocallahan:match-compilation-unit into 5183af0bcb1256b52600d6f68e2206b693884156 on gimli-rs:master.

Thanks!


Correct 19.2 auto-gen docs

Fixes #6108.

This change is

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/869faab6148b5caa8812452bff1086d7ff761109/

@jseldess I believe this PR broke _includes/v19.2/sql/aggregates.md. It now lists window functions instead of aggregate functions. docgen still seems to work correctly, so something must have gone wrong in translation.
For my own understanding, what is the process for updating these pages? Are you manually running docgen and copying over the resulting markdown files?

@nvanbenschoten, oh, thanks for catching this. The process is simpler. We just copy the contents of the relevant file from the cockroach repo (in this case, from the release-19.2 branch) to the relevant file in the docs repo. I must've copied something wrong. I can fix in the morning.


Config option for naming of eclipse AAR sub-projects

Currently the plugin creates the AAR Eclipse projects using the directory name that the build.gradle file is in. However, in order to be more compliant with the Android Studio project layout, most of my projects now use an app sub-folder. This means that it now conflicts between projects, since they all use the app prefix, e.g. app-com.android-support-design-23.1.1. It would be nice if it used the parent folder in this case, or had a config option where I can specify the prefix.

Silly me, I see there's an option for that: projectNamePrefix


Do not include ignored code in cobertura reports

The html reporter does not include code which was excluded using /* istanbul ignore <word> */, but the cobertura reporter does.
It should:

Coverage reporting however takes the skip attribute into account and artificially increments counts, when 0 and skipped to pretend that the thing in question was covered.

Any chances this isssue will be solved in near future? We use cobertura reports in Jenkins, and it is frustrating to see it shows the coverage lower than it actually is.

It looks like @verkholantsev is working on it: #238

Now that #365 has been merged... any idea when a new release will be available please?

@maxklenk and @davyboyhayes looks like this change has been in since v0.3.15
Can this issue be closed out?

@destroyerofbuilds - I've just rebuilt my node_modules on my build boxes, which brought in 0.3.22, and yes this has been fixed! Thanks guys!

Thank you, it works now!


systemd_unit resource not creating units anymore

Description
Following #5210 the systemd_unit resource seems not be able to create systemd units anymore.
Chef Version
Chef 12.14.60
Platform Version
CentOS 7.2
Chef: 12.14.60
Replication Case
Creating systemd unit using the systemd_unit resource.
I suspect the new following method in lib/chef/provider/systemd_unit.rb to always return false:
def systemd_analyze_cmd
  @systemd_analyze_cmd ||= "#{systemd_analyze_path} verify %{path}"
end

Furthermore i did a test without the %{path} variable and the check works as expected (success when systemd unit file looks good and fail when it's not).
Client Output

 * systemd_unit[jmx_exporter_kafka_521707.service] action create
  Recipe: <Dynamically Defined Resource>
    * file[/etc/systemd/system/jmx_exporter_kafka_521707.service] action create

      ================================================================================
      Error executing action `create` on resource 'file[/etc/systemd/system/jmx_exporter_kafka_521707.service]'
      ================================================================================

      Chef::Exceptions::ValidationFailed
      ----------------------------------
      Proposed content for /etc/systemd/system/jmx_exporter_kafka_521707.service failed verification #<Chef::Resource::File::Verification:0x000000071c5f00>

      Cookbook Trace:
      ---------------
      /var/chef/cache/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/runner.rb:41:in `run_action'

      Compiled Resource:
      ------------------
      # Declared in

      file("/etc/systemd/system/jmx_exporter_kafka_521707.service") do
        action [:create]
        retries 0
        retry_delay 2
        default_guard_interpreter :default
        mode "0644"
        content "[Unit]\nDescription = jmx exporter\nAfter = network.target\n\n[Service]\nType = simple\nUser = prometheus\nGroup = prometheus\nRestart = on-failure\nExecStart = /usr/bin/java -Dcom.sun.management.jmxremote.ssl=false   -Dcom.sun.management.jmxremote.authenticate=false   -Dcom.sun.management.jmxremote.port=5555 -jar                 /opt/jmx_exporter/jmx-exporter.jar                 5556                 /opt/jmx_exporter/kafka_521707.yml\n\n[Install]\nWantedBy = multi-user.target\n"
        path "/etc/systemd/system/jmx_exporter_kafka_521707.service"
        owner "root"
        group "root"
        verifications [#<Chef::Resource::File::Verification:0x000000071c5f00 @command_opts={}, @command="/bin/systemd-analyze verify %{path}", @block=nil, @parent_resource=<file[/etc/systemd/system/jmx_exporter_kafka_521707.service] @name: "/etc/systemd/system/jmx_exporter_kafka_521707.service" @noop: nil @before: nil @params: {} @provider: nil @allowed_actions: [:nothing, :create, :delete, :touch, :create_if_missing] @action: [:create] @updated: false @updated_by_last_action: false @supports: {} @ignore_failure: false @retries: 0 @retry_delay: 2 @source_line: nil @guard_interpreter: nil @default_guard_interpreter: :default @elapsed_time: 0 @sensitive: false @mode: "0644" @content: "[Unit]\nDescription = jmx exporter\nAfter = network.target\n\n[Service]\nType = simple\nUser = prometheus\nGroup = prometheus\nRestart = on-failure\nExecStart = /usr/bin/java -Dcom.sun.management.jmxremote.ssl=false   -Dcom.sun.management.jmxremote.authenticate=false   -Dcom.sun.management.jmxremote.port=5555 -jar                 /opt/jmx_exporter/jmx-exporter.jar                 5556                 /opt/jmx_exporter/kafka_521707.yml\n\n[Install]\nWantedBy = multi-user.target\n" @path: "/etc/systemd/system/jmx_exporter_kafka_521707.service" @owner: "root" @group: "root" @verifications: [...]>>]
      end

      Platform:
      ---------
      x86_64-linux

    ================================================================================
    Error executing action `create` on resource 'systemd_unit[jmx_exporter_kafka_521707.service]'
    ================================================================================

    Chef::Exceptions::ValidationFailed
    ----------------------------------
    file[/etc/systemd/system/jmx_exporter_kafka_521707.service] (dynamically defined) had an error: Chef::Exceptions::ValidationFailed: Proposed content for /etc/systemd/system/jmx_exporter_kafka_521707.service failed verification #<Chef::Resource::File::Verification:0x000000071c5f00>

    Cookbook Trace:
    ---------------
    /var/chef/cache/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/runner.rb:41:in `run_action'

    Resource Declaration:
    ---------------------
    # In /var/chef/cache/cookbooks/prometheus-platform/recipes/jmx_exporter.rb

     90:         systemd_unit "jmx_exporter_#{target['name']}.service" do
     91:           enabled true
     92:           active true
     93:           masked false
     94:           static false
     95:           content unit
     96:           triggers_reload true
     97:           action [:create, :enable, :start]
     98:         end
     99:       end

    Compiled Resource:
    ------------------
    # Declared in /var/chef/cache/cookbooks/prometheus-platform/recipes/jmx_exporter.rb:90:in `block in from_file'

    systemd_unit("jmx_exporter_kafka_521707.service") do
      action [:create, :enable, :start]
      retries 0
      retry_delay 2
      default_guard_interpreter :default
      declared_type :systemd_unit
      cookbook_name "prometheus-platform"
      recipe_name "jmx_exporter"
      enabled true
      active true
      content {"Unit"=>{"Description"=>"jmx exporter", "After"=>"network.target"}, "Service"=>{"Type"=>"simple", "User"=>"prometheus", "Group"=>"prometheus", "Restart"=>"on-failure", "ExecStart"=>"/usr/bin/java -Dcom.sun.management.jmxremote.ssl=false   -Dcom.sun.management.jmxremote.authenticate=false   -Dcom.sun.management.jmxremote.port=5555 -jar                 /opt/jmx_exporter/jmx-exporter.jar                 5556                 /opt/jmx_exporter/kafka_521707.yml"}, "Install"=>{"WantedBy"=>"multi-user.target"}}
      triggers_reload true
    end

    Platform:
    ---------
    x86_64-linux

Running handlers:
  - Chef::Handler::Slack
Running handlers complete
Chef Client failed. 5 resources updated in 15 seconds

It seems to me that (at least on Centos 7.2) "systemd-analyze verify" does not accept a filename not ending by an unit extension like "service", "mount", "target", which is not the case of tempfiles.

#5327 should fix this and should fix this whole class of problems with verifiers and extensions.   i don't think the extension on the tempfile was a public api so just fixed it there.

this doesn't seem to be resolved in 12.14.77; i'm still seeing Chef::Exceptions::ValidationFailed for any systemd_unit resources.

correction, not any, but specific unit types where the name matters relative to the purpose: e.g. automount, mount, device, etc. opening a separate issue for this, as it's a slightly different problem.
[root@default-fedora-24 ~]# systemd-analyze verify /etc/systemd/system/chef-proc-sys-fs-binfmt_misc.automount
chef-proc-sys-fs-binfmt_misc.automount: Where= setting doesn't match unit name. Refusing.
chef-proc-sys-fs-binfmt_misc.automount: Failed to create chef-proc-sys-fs-binfmt_misc.automount/start: Unit chef-proc-sys-fs-binfmt_misc.automount is not loaded properly: Invalid argument.


Provide a way to query expression values from inside the instruction

At the moment client cannot determine what was the result of a Transaction just by looking at the block.
Let me illustrate with an example:
for block in client
    .listen_for_blocks(NonZeroU64::new(1).unwrap())
    .unwrap()
{
    let transactions = block.unwrap().payload().transactions;

    for tx in transactions {
        for executable in tx.payload().instructions() {
            match executable {
                Executable::Instructions(instructions) => {
                    for isi in instructions {
                        match isi {
                            InstructionExpr::Mint(mint) => {
                                let amount: &EvaluatesTo<Value> = mint.object();
                                // At this point we cannot determine what minted amount was
                                // without evaluating the expression,
                                // but expression can only be evaluated on the node
                            }
                            _ => {}
                        }
                    }
                }
                Executable::Wasm(_) => {}
            }
        }
    }
}

As is noted, client has no way of knowing what amount was minted without evaluating the expression. Especially, if the expression contained a query. This expression cannot even be evaluated on the host because the wsv that was actual at the time of executing the query in the expression doesn't exist anymore.
All of the above indicates that we should store both the original transaction (as we do now) and evaluated transaction so that client can determine what happened in the transaction

All of the above indicates that we should store both the original transaction (as we do now) and evaluated transaction so that client can determine what happened in the transaction

Agreed. I have a question, though: what is the best way to represent an evaluated transaction and should it contain a copy of the original data?

Agreed. I have a question, though: what is the best way to represent an evaluated transaction and should it contain a copy of the original data?

my suggestion here is that alongside expression we should also store it's result. Because computing the result (i.e. evaluating the expression) at a later time is too expensive

The evaluated transaction mode is likely the only one really interesting for a block stream subscriber. Is this applicable to both ISI and trigger executions?

What is exact use case for this feature? because storing evaluated transaction would increase increase memory consumption (up to 2 times).
And we already have event streams which kinda give us evaluated data.
Also even with evaluated transaction we can't restore full picture without whole state, like with evaluated transfer we would only know amount which was transferred, not absolute values (maybe this is enough, maybe not).

Also we need to think about how block stream subscriber could verify that evaluated block is valid. With original one subscriber could check signatures at least.

One more thing is how to deal with wasm? Should we provide trace of every executed instruction as evaluated wasm?


Graph not updating index

On version 2.1.1,
I create a fresh cluster of 3 nodes,
I run the following script on 1 of the node (via studio):
CREATE class Topic extends V
CREATE PROPERTY Topic.name STRING
CREATE PROPERTY Topic.created DATETIME
CREATE class Root extends Topic
CREATE INDEX Root.name NOTUNIQUE
CREATE class Event extends Topic
CREATE INDEX Event.name NOTUNIQUE
CREATE class Subscriber extends V
CREATE PROPERTY Subscriber.subscriptionId STRING
CREATE PROPERTY Subscriber.subscriberType STRING
CREATE PROPERTY Subscriber.name STRING
CREATE PROPERTY Subscriber.created DATETIME
CREATE class Device extends Subscriber
CREATE PROPERTY Device.deviceId STRING
CREATE PROPERTY Device.type STRING
CREATE PROPERTY Device.vendor STRING
CREATE INDEX Device.subscriptionId UNIQUE
CREATE class User extends Subscriber
CREATE PROPERTY User.login STRING
CREATE INDEX User.subscriptionId UNIQUE
CREATE INDEX User.login UNIQUE
CREATE class SubscriptionsJson extends V
CREATE PROPERTY SubscriptionsJson.uniqueDocumentId STRING
CREATE INDEX SubscriptionsJson.uniqueDocumentId UNIQUE
Now, I create some Entries like Device & User
But when I do select from User where subscriptionId = 'xxx' , it does not return anything, but once I rebuild the index, it returns the record. This I need to do everytime I add a new Entity.
Any pointers?

https://dl.dropboxusercontent.com/u/5968302/OrientE1.PNG

Are you using synchronous replication?

Yes,
Also, it looks like a cluster problem, when running in standalone mode, everything works fine!

By reading the logs I found something could be the problem. I'll keep you posted soon.

Hi ,
Although this issue is tagged as Medium, It is a blocker from us running in clustered mode. Can you reproduce this issue on your side? I am just wondering if its a bug or setup / index creation issue on our side. Either way, one would hope the system to behave same in clustered vs standalone mode.

This problem could be related to: https://github.com/orientechnologies/orientdb/issues/4913. Working to reproduce it.

With synchronous replication I'm not able to reproduce it. Trying with asynch.

With synchronous replication I'm not able to reproduce it. Trying with asynch.

That is strange. What process are you following to add the schema.sql?
I tried creating a fresh 3 node synchronous cluster.
Then on one of the workbench , I run the sql scripts one by one. Not sure if thats the right way of doing it.

Tried with async replication and works. How can I reproduce it? Do you have any logs? Please could you send them to support@ ?

which log you are after?

I started 3 nodes and executed your exact commands to create the schema, the I've create 3 User and query from other nodes by using the index and result was returned.

This looks like working after I completely removed orientdb instances directory and did a fresh install. I think the DB entered a corrupted state somehow.
What is a proper way of deleting the data directories of orient so it becomes a clean install?

Just delete the database directory and OrientDB will ask a fresh copy to the existent server cluster.

Hi Luca;
I also get the same problem about index at version 2.1.1
This problem is solved with 2.1.2 or you offer another solution.
Best Regards.


Firefox Deprecated Options

Hi @Nyxqxx  I recently found in the connections that it have a deprecated options.. " Issue #22 "
i fix it in the attached file..  👍🏻
Hope this can help all people on this project 👍🏻 Works very well
Just replace extension .txt to .py
main.txt

Or here are the modified entire main.py file:
from selenium import webdriver
from selenium.webdriver.common.by import By
from webdriver_manager.firefox import GeckoDriverManager

from selenium.webdriver.firefox.options import Options
from selenium.webdriver.firefox.service import Service as FirefoxService

from selenium.webdriver.common.keys import Keys
from random_username.generate import generate_username
import requests
import random
from time import sleep
from selenium.webdriver.support.ui import Select
import string
from fake_useragent import UserAgent
from selenium.webdriver.common.action_chains import ActionChains

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.expected_conditions import staleness_of
import os

# Makes sure the program is running in the correct directory.
os.chdir(os.path.dirname(os.path.abspath(__file__)))

def start():
    global driver
    # Start firefox and install extensions

    # Old Deprecated WebDriver for Firefox
    ### profile = webdriver.FirefoxProfile()
    ### profile.set_preference(general.useragent.override", 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36')
    ### profile.set_preference("intl.accept_languages", "en-US")
    ### driver = webdriver.Firefox(firefox_profile=profile, executable_path=GeckoDriverManager().install())

    firefox_profile = Options();
    firefox_profile.set_preference("general.useragent.override", 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36')
    firefox_profile.set_preference("intl.accept_languages", "en-US")
    firefox_profile.set_preference('permissions.default.stylesheet', 2)
    firefox_profile.set_preference('permissions.default.image', 2)

    option = webdriver.FirefoxOptions()
    driver = webdriver.Firefox(options=firefox_profile)

    driver.install_addon("adblock.xpi")

    # Loads webpage
    # driver.get("http://www.whatsmyua.info/")
    driver.get("http://www.twitch.tv/")

def check_name(username):
    r = requests.head("https://passport.twitch.tv/usernames/" + username,
                      headers={'Connection':'close'})

    if r.status_code == 403:
        success = False
        while success == False:
            r = requests.head("https://passport.twitch.tv/usernames/" + username,
                              headers={'Connection':'close'})
            if r.status_code != 403:
                success = True

    if r.status_code == 200:
        return {'username': username, 'taken': True, 'status_code': r.status_code}
    else:
        return {'username': username, 'taken': False, 'status_code': r.status_code}

def get_username():
    while True:
        username = generate_username(1)[0] + str(random.randint(0, 99))
        if check_name(username)['taken'] == False:
            return username
        else:
            print(f"Username {username} taken, trying again...")
            continue

def get_password():
    # generate a password containing a random 12 characters
    return "".join(random.choice(string.ascii_letters) for i in range(random.randint(12, 20)))

def Sign_up_s1():
    global username, password
    # find the text on the page that says "Sign up"
    WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//*[text()[contains(.,'Sign Up')]]"))).click()

    # find the username field and enter a username
    username = get_username()
    WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, "signup-username"))).send_keys(username)

    # find the password field and enter a password
    password = get_password()
    WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, "password-input"))).send_keys(password)

    # click next
    WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//*[text()[contains(.,'Next Step')]]"))).click()

    while True:
        try: WebDriverWait(driver, 1).until(EC.presence_of_element_located((By.XPATH, "//*[text()[contains(.,'Use email instead')]]"))); return
        except: WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//*[text()[contains(.,'Next Step')]]"))).click()

def Sign_up_s2():
    # find the text on the screen that says "Use email instead"
    WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//*[text()[contains(.,'Use email instead')]]"))).click()

    # find the email field and enter an email
    # WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, "email-input"))).send_keys(username +<EMAIL_ADDRESS>
    # find the email field and enter an email
    WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, "email-input"))).send_keys(username +<EMAIL_ADDRESS>
    # click next
    WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//*[text()[contains(.,'Next Step')]]"))).click()

    while True:
        try: WebDriverWait(driver, 1).until(EC.presence_of_element_located((By.XPATH, "//*[text()[contains(.,'Date of Birth')]]"))); return
        except: WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//*[text()[contains(.,'Next Step')]]"))).click()

def Sign_up_s3():
    global day, month, year
    # click the month dropdown
    WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//*[text()[contains(.,'Month')]]"))).click()

    # select a random month and click it
    month = random.choice(["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"])
    WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//*[text()[contains(.,'" + month + "')]]"))).click()

    # click the day dropdown
    day = random.randint(1, 28)
    ActionChains(driver).send_keys(Keys.TAB).perform()
    ActionChains(driver).send_keys(day).perform()

    # click the year dropdown
    year = random.randint(1990, 2005)
    ActionChains(driver).send_keys(Keys.TAB).perform()
    ActionChains(driver).send_keys(year).perform()

    # get the coordinates of the button with text "Sign Up"
    button = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//*[text()[contains(.,'Sign Up')]]")))
    x = button.location['x']
    y = button.location['y']

    # click coordinates of the button
    ActionChains(driver).move_by_offset(x, y).click().perform()

def Store_info():
    with open("z_infolist.txt", "a") as f:
        f.write(f"{username}:{password}:{month}/{day}/{year}")

start()
Sign_up_s1()
Sign_up_s2()
Sign_up_s3()
Store_info()

They are two lines:
firefox_profile.set_preference('permissions.default.stylesheet', 2)
firefox_profile.set_preference('permissions.default.image', 2)
That turn off images and stylesheets to improve loading page, even i tried to make a new functions to Use the already created account and follow a given user, but this versions of firefox won't allow to log in.. it said something abt the firefox versions 🤔

did you get "Your browser is not currently supported. Please use a recommended browser or learn more here." error? How can you fix it

did you get "Your browser is not currently supported. Please use a recommended browser or learn more here." error? How can you fix it

Web driver detection, use a PATCHED geckodriver, which is kinda hard, so its better off using undetected_chromedriver


Brightness control does not work

Hi,
First of all, I would like to thank you for making this integration.
I have successfully set up a device, the color and the effect setting is working, also turning on and off, but the brightness control is not working, neither with simple color, nor with an effect.

i can confirm that. also on my on device i'm unable to set the brightness.

Thanks for the reports. Sounds like a broke something. I’ve packed the lights away now but I’ll look at the code and see if I can spot what I did wrong. If I can’t, I’ll have to get them out and plug them in.

Oh, ok.  I see what I did. I was being lazy.
So, the effects brightness is totally not handled, it's just a fixed number.
The single colours brightness looks like it is hooked up, but I can see that there is a bug.

i was browsing your code and i've find out the TODO by myself :D As soon as i have time to read HA sdk doc i'll try to send you a merge request.
i've read your blog about how you've bricked your lights... are there any other precautions i have to take when setting brightness? ^^

I've just pushed an untested change which might help the fixed colour brightness:  cd8050a935f0f26d080c97fc5c8fe69132729057
It just scales the RGB colours.
The brightness for effects I think should be easy to fix, but since I don't have access to the lights at the moment I'm not happy to blindy push something which might actually break.
If you're interested in trying something out:
https://github.com/8none1/idealLED/blob/cd8050a935f0f26d080c97fc5c8fe69132729057/custom_components/ideal_led/idealled.py#L283
You'll need to take the brightness as passed in to that function, convert it from an 8 bit number to a percentage (examples of this elswhere in the code. Multiply by 100 and divide by 255) and the self the self._brightness to the 8 bit number.

i've read your blog about how you've bricked your lights... are there any other precautions i have to take when setting brightness? ^^

Not that I'm aware of. :cry:
Worth noting that some of the bytes for brightness seem to be percentages (0-100) and some are 8 bits numbers (0-255).  I am not aware of any problems setting a percentage to more than 100, but I am not at all certain.

I have tried the update, the brightness control is still not working for a solid color and the effects.

Ok, I see what's going on.  Please hold....

... ok, just pushed some more changes.
Brightness for fixed colours definetly works for me now.
Brifghtness for effects is... odd.  As far as I can tell with the data I have to hand in order to change the brightness of the effect, you actually change the brightness of the colours used.  So that's what I've done.  It kinda works.
Interesting note:  something has changed regarding the notifications from the device.  They never used to work, but suddenly they do.  Could be my new lights have a new firmware version, could be something in HA.  Dunno.  They are currently unused, but I will look at doing something with that data next.

... ok, just pushed some more changes.
Brightness for fixed colours definetly works for me now. Brifghtness for effects is... odd. As far as I can tell with the data I have to hand in order to change the brightness of the effect, you actually change the brightness of the colours used. So that's what I've done. It kinda works.
Interesting note: something has changed regarding the notifications from the device. They never used to work, but suddenly they do. Could be my new lights have a new firmware version, could be something in HA. Dunno. They are currently unused, but I will look at doing something with that data next.

Thanks for the update, brightness control now works for both a solid color and an effect.

thank you very much 😀


Support rpm packaging for x86_64-unknown-linux-gnu releases

Describe the problem you are trying to solve
Support rpm packaging for release tremor builds targeting x86_64-unknown-linux-gnu, to ease production deployments against systems like CentOS.
https://github.com/wayfair-tremor/tremor-runtime/blob/e2240d6ea7ad10c159e34bab2d3674e8dbe56814/Makefile#L21
Describe the solution you'd like
Extend the implementation done for deb/archive formats as part of https://github.com/wayfair-tremor/tremor-runtime/pull/274
Can leverage https://github.com/iqlusioninc/cargo-rpm. but looks like it doesn't have the capability to reuse the binaries produced as a separate build step (which is the method we use for archive/deb packaging, building the binary first via cross and then producing multiple package formats from the same build). Consider adding that support to cargo-rpm, but if that's not feasible, use rpmbuild commands directly.

Filed PR https://github.com/iqlusioninc/cargo-rpm/pull/66 to assist with our rpm packaging needs here (along with the corresponding issue https://github.com/iqlusioninc/cargo-rpm/issues/65).

Filed further PRs for cargo-rpm, which should make our task here easier when we pick it up:
https://github.com/iqlusioninc/cargo-rpm/pull/69
https://github.com/iqlusioninc/cargo-rpm/pull/70
https://github.com/iqlusioninc/cargo-rpm/pull/71

Reopening this to track centos 7 fixes: https://github.com/wayfair-tremor/tremor-runtime/pull/307#issue-436883764


Fix to cookie_remap.cc to avoid Intel compiler warning.

The Intel compiler warns if an anonymous class has a
non-trival constructor.  Presumably because that implies
an unnamed function.

Yahoo would like TS to build with the Intell compiler (icc).

@dragon512 do we no longer need this?


Fix relative path traversal in twill:staticdocs:serve

Description
This fixes the relative path traversal vulnerability in the twill:staticdocs:serve command, which allows remote attackers to access any file on the host filesystem.
However, in reality, no one uses this command to host the docs while exposing it to the Internet.
Related Issues
Rejected as a security vulnerability in https://github.com/area17/twill/security/advisories/GHSA-9wwx-w6vv-q72c

this is not a vulnerability in the area17/twill software published on Packagist, as the command you are referring to is made for project maintainers in a local environnement, to contribute to the docs.

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


[ Function Expose ] Pages 7000001 & 7000002

It would be nice to have the method UpdateStatistics exposed. I need to override the OnAfterGetRecord trigger to apply some style at some fields in the page, so if i can recreate your function "AfterGetCurrRecord" or also that function could be exposed, that would be wonderful.
Thanks in advice.

I will expose all public functions in those pages :-)


disco_l475_iot1: samples/bluetooth/ipsp ko since 3151d26

Describe the bug
samples/bluetooth/ipsp doesn't work anymore on disco_l475_iot1 since merge of 3151d265726fb528d31d8e1ee8b35004e901cfc4
To Reproduce
Go before 3151d265726fb528d31d8e1ee8b35004e901cfc4
Test samples/bluetooth/ipsp (using CONFIG_NET_L2_BT_ZEP1656=y)
It is possible to ping the device from a remote
Go after 3151d265726fb528d31d8e1ee8b35004e901cfc4
Test samples/bluetooth/ipsp (using CONFIG_NET_L2_BT_ZEP1656=y)
No more response to ping
Expected behavior
A clear and concise description of what you expected to happen.
Impact
What impact does this issue have on your progress (e.g., annoyance, showstopper)
Screenshots or console output
root@stih410-b2260:~# echo "connect c8:2e:16:88:95:8e 2" > /sys/kernel/debug/bluetooth/6lowpan_control
root@stih410-b2260:~# ip address add 2001:db8::2/64 dev bt0
root@stih410-b2260:~# ping6 2001:db8::1
PING 2001:db8::1(2001:db8::1) 56 data bytes
ping: sendmsg: No buffer space available

Environment (please complete the following information):

OS: Linux
Toolchain (e.g Zephyr SDK 0.9.5)
Commit SHA: 3151d265726fb528d31d8e1ee8b35004e901cfc4

Additional context
Add any other context about the problem here.

@Vudentz , @jhedberg, this is more fyi than a real bug I'd like to see solved quickly.
This regression seems limited to disco_l475_iot1 (due to the fact it is BT4.1?).
Anyway, I've done a bit of archeology to find out the exact root cause of the regression, so I prefer to log it so information is not lost.
This use case is not a priority for me now, so I don't have much more time to spend on it, but in case it rings a bell to you, I would welcome any suggestion.

@jhedberg , @erwango  is this still relevant?

@nashif I was planning to test this in coming weeks.
So if no urgency, let's keep it open few weeks more.


Directly transform model to google drive

I set the model savedir google drive dir when using google colaboratory.But I met os error.Why?How to solve that bug?I always lost model weight due to the very short time keeping the connection

It might because the colab does not allow symlink. You may need to set create_symlink=False.
For example, here should looks likecheckpoint_config = dict(interval=1, create_symlink=False) as indicated by mmcv.


Trouble reproducing efficientnet_b0 training

I'm trying to reproduce B0, training from scratch. My setup is pytorch 1.1 with V100*8. My command is shown below without any functional change to your training script. The args are borrowed from your comment in other issues:
./distributed_train.sh 8 /tmp/ImageNet/ \
    --model efficientnet_b0 \
    --lr 0.0175 -b 32 \
    --drop 0.2 \
    --img-size 224 \
    --sched step --epochs 400 \
    --decay-epochs 2 --decay-rate 0.975 \
    --opt rmsproptf \
    -j 8 \
    --warmup-epochs 5 --warmup-lr 1e-6 \
    --weight-decay 1e-5 \
    --opt-eps .001 \
    --model-ema

It takes about 12 min per epoch (slow?). I'm currently at epoch 100, which achieves 73.85% top1 prec. It is still ~3 points below your reported number, and the learning curve doesn't seem to rise fast enough.

Is it normal to hit only 73.85% at epoch 100? How many epochs are necessary to get to 75% and 76%?
I'm using batch size 32 per GPU. Do you recommend larger batch size per GPU? I remember reading somewhere that batchnorm will degrade after you exceed a certain batch size (like 128 something). BN isn't always the larger the better.
I don't have good intuition on how to set model-ema-decay for EfficientNet. I'm just using the default 0.9998 for my 32x8 batch. Maybe this is causing degrade?

Thank you so much!

12 min per epoch sounds fast compared to my 2-3 GPU setups :) but yes, compared to ResNets they are suprisingly slow given how much smaller they are
So far, my best results usually come in after 300-400 epochs with this model family and this training scheme, if you start seeing the validation loss and error definitively stop moving downwards (or start moving upwards) before this your hparams could use adjustment
Being 3-4 pts from the end result at 80-100 epochs isn't out of the ordinary, the last 2/3 to 3/4 of the training is a pretty slow and boring grind
I would raise your batch size, try and get into the 128-256 per GPU range. Synchronized BN is not enable by default (and I wouldn't bother enabling it) so the BN stats are only from one of your GPU, not the total.
Enable AMP mixed precision training (--amp and install APEX), this will also speed things up on a volta or turing card and allow you to target a larger batch / GPU if you can't hit the range above running at FP32.
your ema decay should be similar to mine with your GPU batch of 32, if you get it up to 128-256 per-GPU, try 0.999 to 0.998 range
turn the color jitter way down as mentioned in other issues about this ... I've used .05-.07, but if you wanted to follow the original, they didn't appear to have any color augmentation enabled until their recent 'AutoAugment' training scheme was used
make sure the #kwargs['drop_connect_rate'] = 0.2  line in the gen_efficientnet.py for the model you're using is uncommented, I have no cmd line arg for this yet since it's specific to these models
you don't need so many threads per GPU (-j 8), if you've got lots and lots of cores, sure, but otherwise 4-6 is usually fine

I'm going to close this issue as we don't need multiple hparam threads open, but please update this issue or another if you find something that works

This is very helpful!! I'll try them out and let you know if it still can't reproduce. Thanks again.


Run tests on pushed commits on the main branch

Related Issues
https://github.com/chains-project/breaking-updates/issues/71

great!


Is docker image nvidia/cuda:12.2.2-cudnn8-runtime-ubuntu22.04 more suitable than nvidia/cuda:12.0.0-runtime-ubuntu22.04 for faster-whisper's cudnn requirements?

I'm playing with faster-whisper on Docker environment.
Let me suggest tiny modification on README.md.
I've struggled with following error message while I played with wrong environment, like cudnn9 instead of cudnn8.
Could not load library libcudnn_ops_infer.so.8. Error: libcudnn_ops_infer.so.8: cannot open shared object file: No such file or directory

Suggestion
modify README.md especially Use Docker section.

Suggestion

### Use Docker
The libraries (cuBLAS, cuDNN) are installed in these official NVIDIA CUDA Docker images: nvidia/cuda:12.2.2-cudnn8-runtime-ubuntu20.04 or nvidia/cuda:12.2.2-cudnn8-runtime-ubuntu22.04.

Current

### Use Docker
The libraries (cuBLAS, cuDNN) are installed in these official NVIDIA CUDA Docker images: nvidia/cuda:12.0.0-runtime-ubuntu20.04 or nvidia/cuda:12.0.0-runtime-ubuntu22.04.

Some nvidia/cuda images don't have cudnn
faster-whisper needs cudnn package, but some docker image suggested on README.md doesn't have it.
$ docker run nvidia/cuda:12.2.2-cudnn8-runtime-ubuntu22.04 dpkg -l | grep cudnn
hi  libcudnn8                       <IP_ADDRESS>-1+cuda12.2                     amd64        cuDNN runtime libraries
$ docker run nvidia/cuda:12.2.2-cudnn8-runtime-ubuntu22.04 dpkg -l | grep cublas
hi  libcublas-12-2                  <IP_ADDRESS>-1                              amd64        CUBLAS native runtime libraries
$ docker run nvidia/cuda:12.0.0-runtime-ubuntu22.04 dpkg -l | grep cudnn  # NO OUTPUT means that this image doesn't have `cudnn` package.
$ docker run nvidia/cuda:12.0.0-runtime-ubuntu22.04 dpkg -l | grep cublas
hi  libcublas-12-0                  <IP_ADDRESS>-1                            amd64        CUBLAS native runtime libraries

I'm happy to make PR if this suggesion looks good ;)

This also helped me solve the dreaded Could not load library libcudnn_ops_infer.so.8., thanks! Installing nvidia-cublas-cu12 nvidia-cudnn-cu12 through pip does not always work for me. But using this Nvidia base image with cudnn8 did work. @yasu-kondo feel free to create a pr to mention this in the README.

The repo includes a docker file that already uses the correct image, but the readme needs to be updated indeed

@thomasmol thanks for your comment!
PR #1125  by @MahmoudAshraf97 looks good for me to update README.md


[TODO] feature: freeze weights

Python implementation:
https://github.com/open-spaced-repetition/fsrs-optimizer/blob/95694b787bb71ac9883db1201af09e334ee5ee0b/src/fsrs_optimizer/fsrs_optimizer.py#L240-L244
Some weights could be calculated by other methods (not gradient descent). We should freeze them in the training process.
 This one looks pretty simple, poking around their repo it looks we can modify the grads in the step function before returning the TrainOutput struct.
Their example:
https://github.com/burn-rs/burn/blob/2fefc820996085c7e96763d96437876075e0f6ba/examples/text-generation/src/model.rs#L97-L106
So the step here:
https://github.com/open-spaced-repetition/fsrs-optimizer-burn/blob/938cc9286469c8b3e565109d95bf3e146172266f/src/training.rs#L46-L57
would change to something like this:
impl<B: ADBackend<FloatElem = f32>> TrainStep<FSRSBatch<B>, ClassificationOutput<B>> for Model<B> {
    fn step(&self, batch: FSRSBatch<B>) -> TrainOutput<ClassificationOutput<B>> {
        let item = self.forward_classification(
            batch.t_historys,
            batch.r_historys,
            batch.delta_ts,
            batch.labels,
        );
        let grads = item.loss.backward();
        // Change the grads to zero for the weights we want to freeze

        TrainOutput::new(self, grads, item)
    }
}

From what I can tell when we run learner.fit, it creates an TrainEpoch struct, and calls the run method, which calls the model.step above. It uses the grads that come from the model.step and passes them into optim.step which just does the optimizer specific stuff. So I'd imagine if we zero the gradients out in model.step it should result in frozen weights?
TrainEpoch run method:
https://github.com/burn-rs/burn/blob/2fefc820996085c7e96763d96437876075e0f6ba/burn-train/src/learner/epoch.rs#L108-L121
I might be misunderstanding some stuff, but these are my findings. I'd like to try and build an implementation, but I don't have the SQLite file for testing. How might I get my hands on that?

The test file is available at https://github.com/open-spaced-repetition/fsrs-optimizer-burn/files/12394182/collection.anki21.zip

Thanks @dae.  Just wanted to say on behalf of all my language learning friends/med school friends, we appreciate all you've done with Anki. :-)

@L-M-Sherlock at the current moment we are a little stuck. We can get the grads in tensor form and modify it similar to how you are doing it in Pytorch, but once we modify it we can't get it back into the Gradients type which is required to pass into TrainOutput. I've talked to Nathaniel on discord about it and he said he could add a grad_replace method for this particular use case.
// training.rs l52
impl<B: ADBackend<FloatElem = f32>> TrainStep<FSRSBatch<B>, ClassificationOutput<B>> for Model<B> {
    fn step(&self, batch: FSRSBatch<B>) -> TrainOutput<ClassificationOutput<B>> {
        let item = self.forward_classification(
            batch.t_historys,
            batch.r_historys,
            batch.delta_ts,
            batch.labels
        );
        let mut gradients = item.loss.backward();
        let grad_tensor = self.w.grad(&gradients).unwrap();
        let updated_grad_tensor = grad_tensor.slice_assign([0..4], Tensor::zeros([4]));
        // Can't get grad_tensor back into B::Gradients type, so Nathaniel said he could create something like this:
        self.w.grad_replace(&mut gradients, updated_grad_tensor);

        TrainOutput::new(self, gradients, item)
    }
}

grad_replace was added in burn-rs/burn#688
Awesome, I'll make a PR for this later today

@L-M-Sherlock @dae is this something you want configured from the config file or is this something that should be baked right into model.step? From what I can tell in the Pytorch implementation it looks like it's just hardcoded in.

I'll need to defer to @L-M-Sherlock on whether it should be hard-coded or would make sense to be changeable by the user

It should be hard-coded, because it's related to the details of optimization, which not allow users to hack in.

By the way, freeze weights is only used after we have implemented the pre-train stage. In current version, the training process shouldn't apply freeze weights.


more intuitive new SQL tab

When I first tried out dbeaver, I could traverse database table tree hierarchy, and modify data there, but it wasn't clear how to pull open a new "SQL query" tab.  If you right click near the tabs the only option is "close" or "detach" no "open new tab" or anything.

Appears I'm not the only one who gets confused by this: https://stackoverflow.com/q/34526817/32453
Wonder if there's a way to make it more intuitive here.  Thanks!

You have in main menu 'special' item "SQL Editor"  (and two additional icons in Toolbar for sql editor).

Hmm OK those buttons on the toolbar work.  But it's not immediately evident to a beginner what they do, and it takes actually awhile for the tooltip to appear to explain it.  A couple more options that might help for the newbie: having the "tooltip" appear for the toolbar more quickly.  Or change the icon so it includes "SQL" somehow.  And/or having a right click menu on the "connection" have an option "new SQL" that type of thing... :)

I think the general gist of this can be boiled down to "the SQL Editor toolbar mini icon" is...confusing...it looks like little snakes or something eating one another?  At least for me I didn't know what it meant initially...


Create buff icons

Note that some buffs can reuse item icons.
For example, the Item105 (Spiderling) applies a slow debuff and using the Spiderling item icon for buff would look good.

Reused icons from creep specials:
cb69119d6612eeccc390488536fdf626da3ed8c0


Server List

Hi. I'm replaced "engine.dll" file 1.1. This is work nice but ESA and WM servers not listed for me. Although on screen shot and video World Mafia server is displayed. Any idea? Best Regards.

https://github.com/sergeii/swat4stats.com/wiki/Server-list-is-back!#my-server-is-not-listed-what-should-i-do


soc: nordic: common: dmm: Fix memory utilization

DMM was enforcing cache line alignment all memory regions, including those which were not cacheable. Fixing it by using memory attribute from the device tree to determine if alignment needs to be applied.
Because of that memory usage was significantly increased because even 1 byte buffers (e.g. for uart_poll_out) was consuming 32 bytes (cache line size).
Fixes #74404.

@nika-nordic @hubertmis can you take another look? I moved checking of CONFIG_DCACHE to DMM_IS_REG_CACHEABLE so that it returns 0 if dcache is disabled.
I've also added one more commit which enables DMM only for cpurad and cpuapp. Cpuppr is not using DMM.

@nordic-krch should this be merged for 3.7? (if so, could you set the milestone)


Feature: CmdParse can construct lists by providing an 'append' style option

Akin to the optparse 'append' action (https://docs.python.org/2/library/optparse.html#other-actions).
Providing multiple flags on the command line constructs a list.
For example, doit -l foo -l bar translates to ['foo','bar'] for the -l flag.

Sorry, didn't mean to add in the PythonAction commit.

Upon further review, I found that I didn't really need gnu_getopt in my code, either. I just needed to subclass doit.cmd_run:Run correctly. Sorry about that!

please also add an entry on CHANGES, and docs ( I guess the arguments section should mention lists are also acceptable).

Coverage increased (+0.0%) to 99.76% when pulling 6f662d5a3421fd21eaac85956314e5de56979aed on schwager-hsph:cmdparse_append_options into 61d2a2eef6b46da65efb0afb8d919dfe4959c87d on pydoit:master.

merged. thanks!


[Issue 13129] [pulsar-metadata] Add watchdog thread in metadata store and track long running tasks.

Fixes #13129
(or if this PR is one task of a github issue, please add Master Issue: #<xyz> to link to the master issue.)
Master Issue: #12929
Motivation
Add a watchdog monitor to monitor and log the stack trace of long running metadata-store callback tasks.
Modifications
Describe the modifications you've done.
Verifying this change

[x] Make sure that the change passes the CI checks.

This change is a trivial rework / code cleanup without any test coverage.
Documentation

[x] no-need-doc

Code enhancement, not user visible.

@merlimat, @Jason918, @lhotari Updated the PR with the changes suggested. PTAL when you get a chance. Thank you!

@Jason918 PTAL when you get a chance.

FYI I made a slightly related PR #15155 to make the broker health check fail when deadlocked threads are detected.

Closed by #15155.
This patch can be a supplement to the existing mechanism. So please rebase and resubmit the patch if it's still relevant.


Refacto Query / Statement

backticks ` for table and column names (see https://github.com/wizacode/php-etl/issues/117)
refacto for better typing in Query and Statement class
make coverage command in Makefile
make dev nix shell command

Hey :D
Thanks for this work!
The issue in the pipeline seems to come from the fact that we are too lax with the PHPUnit version.
I will take some time to update the tests to make them match the requirement of PHPUnit 10.
I had to do it on another project, that's not fun.

Hey :D Thanks for this work! The issue in the pipeline seems to come from the fact that we are too lax with the PHPUnit version. I will take some time to update the tests to make them match the requirement of PHPUnit 10. I had to do it on another project, that's not fun.

@ecourtial did fix the various issue with phpstan / phpunit / phpcsfixer and make infection working again in dev env :)

@leNEKO For the changelog, you don't have to be specific. Just put the overall idea.

@leNEKO For the changelog, you don't have to be specific. Just put the overall idea.

Here it is https://github.com/wizacode/php-etl/pull/118/commits/fad65cb96e66b129919b094c527ab1470b7e78ee?short_path=02aa01b#diff-02aa01b7a281606221d6b6141e30a15d4bb22a980ad403bde95b89aa3588213f let me know if it is enough :)

@leNEKO Allright.
If it is all good for you, I am going to merge and tag a new version.

@ecourtial ... i did some additional integration tests with this branch.
` backtics are in fact non standard SQL used by MySQL, and not supported by Postgresql (and probably others).
It need more rework... i set this PR back in draft, and see if i can do something like suggested here https://github.com/wizacode/php-etl/issues/2


podman logs: fix tailing

Fix issues with tailing of container logs as described
in issue #16.  Also add in the ability to use a duration or
known time stamp formats for the --since flag.
Signed-off-by: baude<EMAIL_ADDRESS>

bot, retest this please

bot, retest this please

LGTM

@rh-atomic-bot r+


zh, en: update release note for v2.0.7

First-time contributors' checklist

[x] I've signed Contributor License Agreement that's required for repo owners to accept my contribution.

What is changed, added, or deleted? (Required)
Add release note for v2.0.7

Which DM version(s) do your changes apply to? (Required)

[x] master (the latest development version)
[x] v2.0 (TiDB DM 2.0 versions)
[ ] v1.0 (TiDB DM 1.0 versions)

What is the related PR or file link(s)?

This PR is translated from:
Other reference link(s):

Do your changes match any of the following descriptions?

[ ] Delete files
[ ] Change aliases
[ ] Need modification after applied to another branch
[ ] Might cause conflicts after applied to another branch

LGTM

/remove-status LGT1
/status LGT2

/merge


widget: the docmaps explorer doesn't render in mobile or firefox

Bug Report
Packages affected:

[ ] OWL/SHACL definitions
[ ] ts-sdk
[ ] ts-etl
[X] spa

Expected behavior
When I click a link to the docmaps explorer, such as https://docmaps-project.github.io/docmaps/demo/index.html?doi=10.1101%2F2<IP_ADDRESS>8736, I should see a mobile-friendly version of the site with the widget displayed
Actual behavior
I see the search bar but no widget.

Fixed by https://github.com/Docmaps-Project/docmaps/pull/218


tez will report an error

Data can only be read through hive. If you use hive to write input, tez will report an error.
Caused by: java.lang.RuntimeException: Failed to load plan: hdfs://hadoop-node-1:8020/tmp/hive/hdfs/010e1336-6251-4157-9499-e15efce79293/hive_2021-07-07_16-38-01_759_6301054491957594370-1/40e54cbd-439d-4e35-979a-fdc38dfa680f/map.xml: org.apache.hive.com.esotericsoftware.kryo.KryoException: Unable to find class: org.apache.carbondata.hive.MapredCarbonInputFormat

Hi, can you please provide the detailed query which you are trying to execute:
Like either you are facing the issue at the time of creating table or insert query.
Although from your error message it seems some problem with replacing the carbon jars. But before coming to conclusion we first need to check the query.
Please go through the documentation link
https://github.com/apache/carbondata/blob/master/docs/hive-guide.md
Here you will find the details about replacing the jars and write support with hive.
Please note that Only non-transactional tables are supported when created through hive.

I guess it has something to do with tez. But I don't know how to solve it, I switched to spark sql.

If you are not sure about the issue then can you please close it.

hi ,thank you for your suggestion。
you can try it in the hive  client  (tez engine)  the error will happen .


Introduce general web secret

Follow #29205
Fix #30923
⚠ BREAKING ⚠
No action is required for most users, Gitea will generate a proper secret when upgrading.

[oauth2].JWT_SECRET and [server].LFS_JWT_SECRET are removed, Gitea will generate a new [security].GENERAL_WEB_SECRET automatically.
If you'd like to keep the existing LFS signed tokens work, you could also use the old LFS_JWT_SECRET as GENERAL_WEB_SECRET.
If there are multiple processes (containers) for one Gitea instance, the config option GENERAL_WEB_SECRET should be the same in all config files.

Will this write the new secret into the config file or how does it work? Likely we can not write anything to config files in scenarios like when the config is from env vars only.

Will this write the new secret into the config file or how does it work? Likely we can not write anything to config files in scenarios like when the config is from env vars only..

There is no different from the old INTERNAL_TOKEN / JWT_SECRET (see their code)

If there is a value from env, then the env value should have been processed ahead and it won't be generated again.

What this PR does is only merging the JWT_SECRET / LFS_JWT_SECRET into one, and make the new GENERAL_WEB_SECRET independent from any other feature.

Name it WEB_SECRET instead of GENERAL_WEB_SECRET? The prefix seems pointless to me.

Name it WEB_SECRET instead of GENERAL_WEB_SECRET? The prefix seems pointless to me.

I think general is important here. In the future maybe we'd like to introduce other "web secrets", the prefix makes it easier to distinguish them.

As I have written in https://gitea.com/gitea/gitea-security/issues/30 I think we should use a simple plain format in the readme. The base64 value can't be written without tool support. Alowing a simple value like 546dztvuG(/&T%ZTRFCB can be "generated" by smashing on your keyboard. We can hash/transform this value to create a well defined we need for the secret generation.

@wxiaoguang I removed backport as this is breaking, and we have already a release candidate

@wxiaoguang I removed backport as this is breaking, and we have already a release candidate

I think it should be backported because it is not quite breaking and it indeed is a bug fix.

As I have written in https://gitea.com/gitea/gitea-security/issues/30 I think we should use a simple plain format in the readme. The base64 value can't be written without tool support. Alowing a simple value like 546dztvuG(/&T%ZTRFCB can be "generated" by smashing on your keyboard. We can hash/transform this value to create a well defined we need for the secret generation.

I could agree. But for this case, the value is automatically generated, so I think end users do not need to manually touch it?

Nothing stops us from generating just a random string without underlaying format.

Nothing stops us from generating just a random string without underlaying format.

Then another question, should we stop end users if they use SECRET=123456 ?

@wxiaoguang I removed backport as this is breaking, and we have already a release candidate

I think it should be backported because it is not quite breaking and it indeed is a bug fix.

So you're saying that invalidating all OAuth2 tokens is not a breaking change and can go into patch release? I think your users might have a different idea about that.
Also, this PR begs the question - why? The PR explicitly lowers security of any instance by consolidating two separate secret tokens used for different purposes into one. It is now impossible to update one token while keeping other intact, which I would consider a valid use-case. The proposed changes neither simplify code nor do anything beyond being a change for a sake of change, which raises some eyebrows considering you're touching and refactoring security-related code.

Thank you for the questions. I will try to answer them by my understanding, correct me if I am wrong.
I am not a native speaker so please understand that I could only explain my understanding directly.

So you're saying that invalidating all OAuth2 tokens is not a breaking change and can go into patch release? I think your users might have a different idea about that.

I have marked it as "breaking", while I think it it acceptable for 1.22 because:

The 1.22 release is still in RC period, it could have necessary breaking changes, it is not a "patch release"
The tokens are invalided, users could re-grant the access tokens and it doesn't really block the daily usage.

I could agree that the change is not friendly and thank you for pointing out, maybe we need to make it more friendly to end users, eg: support rotating (multiple secrets) or keep using the old secret.

Also, this PR begs the question - why? The PR explicitly lowers security of any instance by consolidating two separate secret tokens used for different purposes into one. It is now impossible to update one token while keeping other intact, which I would consider a valid use-case. The proposed changes neither simplify code nor do anything beyond being a change for a sake of change.

In my mind, I don't think it "lowers". There are pretty many uses the for "general web secrets", see the comments: not only JWT, but also CSRF token, email validation, etc. Do you prefer to introduce dozens of "secrets" for them to "harden"? TBH I do not see the necessity at the moment.
Ideally in the future Gitea should support "secret" rotating and manage these secrets automatically, then every concern could be resolved, I think this could be considered as the first step: to reduce unnecessary "secrets".

which raises some eyebrows considering you're touching and refactoring security-related code.

This PR is not really security-related. The real security-related one is #29205 , it has been discussed by many maintainers. It is a quick patch and has been backported to 1.21, but it does have a problem: if oauth2 is disabled, then no persistent secrets between restarts and instances.
If you are interested in the security related topic, feel free to contact me privately.

I propose another "quick fix" :  Always load or generate oauth2 jwt secret #30942
Maybe we can take that one and leave enough time for the "secret" refactoring.
(I guess there is no easy&non-breaking fix for the legacy secret problems ......)

There are pretty many uses the for "general web secrets", see the comments: not only JWT, but also CSRF token, email validation, etc. Do you prefer to introduce dozens of "secrets" for them to "harden"?

I think it would be valid to introduce new "general" secret that is used for internal tokens while leaving existing OAuth2 intact as separate. This would make this change only partially breaking and ready for 1.23 as while it would touch LFS-related stuff, same advice as you given out previously (to reuse old LFS secret) would be valid.


[MONO] Path for external source file in inline task isn't resolved

Steps to reproduce
Create an inline task with UsingTask and use an external file for the source code like this :

Then call the task from MSBuild.exe in windows and MSBuild in linux
Expected  behavior
On Microsoft (R) Build Engine version 16.2.37902+b5aaefc9f pour .NET Framework (Win10)
The path to the source file is correctly resolved and everything is fine.
Actual behavior
On Microsoft (R) Build Engine version <IP_ADDRESS> for Mono (Ubuntu 18.04 + Mono 6.0)
The path to the source file is not resolved, it seems to be added to the current path without any combine operation.
This is the error I'm getting (edited for readability) :
/mnt/c/[...](435,5): error MSB4175: The task factory "CodeTaskFactory" could not be loaded
from the assembly "/usr/lib/mono/msbuild/Current/bin/Microsoft.Build.Tasks.Core.dll".
Could not find file "/mnt/c/[--path to the csproj folder--]/..\..\mytasksource.cs"
[/mnt/c/[--path to the csproj folder--]/mycsproj.csproj]

EDIT : Note that if I place the "mytasksource.cs" file in the same folder as "mycsproj.csproj" and change my task definition to :

the task run fine on the mono MSBuild.
And sorry if this is not the place for issues about the mono version of MSBuild.

@radical should this go into the mono/msbuild repo?

@livarcocc mono/MSBuild doesn't have its own issue tracking at the moment.

@gotmachine One possible workaround to investigate: try using RoslynCodeTaskFactory instead of CodeTaskFactory.

Thanks for the answers. I confirm that the problem also happen on OSX with mono.
I would like to try the RoslynCodeTaskFactory workaround but I'm having trouble making it work. It seems the way to use it is by doing :
<UsingTask TaskName="UploadGitHubRelease" TaskFactory="RoslynCodeTaskFactory" AssemblyFile="$(MSBuildBinPath)\Microsoft.Build.Tasks.Core.dll" >
However (sorry for the unrelated question, but the documentation for all this is kinda sparse) when I do that it seems the references include...
<Task>
  <Reference Include="System.Net.Http" />
  [...]

</Task>

... does have access to the full framework. I'm getting a bunch of :
error MSB3755: cannot found "System.Net.Http".
How do I use the RoslynCodeTaskFactory with (cross-platform) references to the full .NET framework ?

Ok, so finally tested with RoslynCodeTaskFactory, same issue :
The path specified in <Code Source=" " isn't resolved on Linux/OSX with Mono 6.0.
It doesn't resolve the .. and it doesn't convert the \ to /.


conda install failed on windows

Create new env and install psi4 failed without useful error message:
$ conda create -n p4env psi4 -c psi4 -y
Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: |
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed

UnsatisfiableError:

I noticed in the anaconda repo, there is a win-64/psi4-1.7+6ce35a5-py38_0.tar.bz2, thus I assumed it was due to my newer python interpreter in the (base) env.
However, explicitly specify python=3.8 failed again, which is quite confusing:
$ conda create -n p4env python=3.8 psi4 -c psi4 -y
Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: |
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package python conflicts for:
python=3.8
psi4 -> msgpack-python -> python[version='>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.11,<3.12.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|>=3.8|>=3.7|>=3.6|>=3.5|>=3.6.0']
psi4 -> python=3.8

Finally, create the env first, and install python=3.8, then psi4, failed again:
$ conda create -n p4env -y
$ conda activate p4env
$ conda install python=3.8 -y
$ conda install psi4 -c psi4
Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: -
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

FYI, I downloaded the tar.bz2 file, and this is the recipe/meta.yaml content:
# This file created by conda-build 3.23.2
# meta.yaml template originally from:
# D:\a\1\s\conda\win, last modified Tue Dec  6 22:14:44 2022
# ------------------------------------------------

package:
  name: psi4
  version: 1.7+6ce35a5
source:
  path: D:\a\1\s
build:
  script:
    - md C:\tools\miniconda3\conda-bld\psi4_1670369969426\_h_env\Scripts
    - copy /y D:\a\1\b\install\bin\psi4 C:\tools\miniconda3\conda-bld\psi4_1670369969426\_h_env\Scripts
    - echo __pycache__ > exclude.txt
    - xcopy /f /i /s /exclude:exclude.txt D:\a\1\b\install\lib\psi4 C:\\tools\\miniconda3\\conda-bld\\psi4_1670369969426\\_h_env\\Lib\\site-packages\psi4
    - xcopy /f /i /s D:\a\1\b\install\share\psi4\basis       C:\tools\miniconda3\conda-bld\psi4_1670369969426\_h_env\Lib\share\psi4\basis
    - xcopy /f /i /s D:\a\1\b\install\share\psi4\plugin      C:\tools\miniconda3\conda-bld\psi4_1670369969426\_h_env\Lib\share\psi4\plugin
    - xcopy /f /i /s D:\a\1\b\install\share\psi4\quadratures C:\tools\miniconda3\conda-bld\psi4_1670369969426\_h_env\Lib\share\psi4\quadratures
    - xcopy /f /i /s D:\a\1\b\install\share\psi4\databases   C:\tools\miniconda3\conda-bld\psi4_1670369969426\_h_env\Lib\share\psi4\databases
    - xcopy /f /i /s D:\a\1\b\install\share\psi4\fsapt       C:\tools\miniconda3\conda-bld\psi4_1670369969426\_h_env\Lib\share\psi4\fsapt
    - xcopy /f /i /s D:\a\1\b\install\share\psi4\grids       C:\tools\miniconda3\conda-bld\psi4_1670369969426\_h_env\Lib\share\psi4\grids
  string: py38_0
requirements:
  build: []
  run:
    - dftd3-python
    - gau2grid
    - gcp-correction
    - intel-openmp=2019.1
    - libint2 2.6.0 h2e52968_4
    - libxc
    - mkl=2019.1
    - msgpack-python
    - networkx
    - numpy
    - optking
    - pytest>=7.0.1
    - python=3.8
    - qcelemental=0.25.1
    - qcengine=0.26.0
    - scipy
test:
  commands:
    - python -c "import psi4; assert psi4.test('quick') == 0"
    - psi4 --test quick
about: {}
extra:
  copy_test_source_files: true
  final: true

As you can see, it explicitly requires python=3.8, but I just keep failing install psi4 using conda (Even though I reinstall anaconda entirely). The only way left for me to use psi4 on Windows is to download psi4conda installer, after installing, I can activate it by passing the absolute path of psi4conda env.
$ conda env activate E:\Soft\psi4conda

please try conda install psi4 python=3.8 -c conda-forge/label/libint_dev -c conda-forge from https://psicode.org/installs/v18/ with windows/conda/*/stable choices.

Thank you, @loriab, it works!
For guys who may run into this trouble in the future, please note that you should probably remove the mirror settings in .condarc, otherwise it may raise:
UnavailableInvalidChannel: HTTP 404 NOT FOUND for channel conda-forge/label/libint_dev <https://mirrors.somewhere/anaconda/cloud/conda-forge/label/libint_dev>
Cheers 🍻


fix: Fix tests in stream::tag module if "tokio" feature is disabled

Thanks. Could you please fix the errors about any reported by Clippy?
The error: the borrowed expression implements the required traits is unrelated and has been fixed in main, so please rebase to include that too

Thanks!


Added API call to find stops that are not in the most recent booking

Fixes #481.
I'm not happy with fixing this by making more requests, so am looking for suggestions on how to fix this in a better way.

I think currently I'm ok with this fallback solution,as most of cases the route should hv the booked stop Id.  For long term we could refactor user interested routes/ nearby routes in server endpoint, which combines seveal individual calls to one call whuch return relevant user routes


Fix the link of the repo in README file

There was an error in command that create sample project. So I fixed it.

Hi @yvzslmbkts - thank-you for this!  This repo is created automatically from the main Gatsby Theme Catalyst repo (https://github.com/ehowey/gatsby-theme-catalyst). If you want to make this same PR against that repo then I can accept the changes there and it will automatically update here.
Great catch on the typo!

Hello @ehowey Thank you very much for comment. I created a  (PR) against Gatsby Theme Catalyst repo.


Create single view main panel (right side)

[ ] large query/key scatterplot view corresponding to single layer + head
[x] colors:

[x] one main color scheme for queries (e.g., greens) and another for keys (e.g., pinks)
[x] have different options for user to color points by within query/key groups, e.g.,

[x] normalized position (the default right now)
[x] vector norm
[x] martin suggested something like coloring by every kth token (e.g., for n = 5, all tokens with pos % 5 == 0 are one color, all tokens with post % 5 == 1 are another, etc.)
[ ] maybe others? so we want it to be easy to add coloring options later on.

[x] show legend for each plot coloring too

[ ] hover view (probably will be similar to what i have now-- see below):

show:

[x] token value/string
[x] token type (query/key)
[x] position in sentence (also requires total sentence length)
[x] norm
[ ] the full sentence it came from (and highlight current token)

done for now!


LOG4J2-1854 - Add new parameter to include tcp Gelf message delimiter

I have fixed this in master branch, this PR can be closed.


BME-27: Minimap Upgrades part 2: Implement smaller usability improvements

Looks good code-wise! Lemme just pull and test locally to see it in action

Mostly works! Can still cause it to break if I try to whip it around really fast, and managed to cause it to crash when testing making the width negative (ie move the drag handle beyond the opposite wall of the map):
crash-2024-04-09_19.00.30-client.txt

Any user treating it reasonably should be fine. It's just the bullet-proofing when moved in ways it's not supposed to!

Am liking the default positioning! And works nicely as I resize the Minecraft window

Hey look, turned Minecraft into a top-down 2D game! Interesting seeing the items in the hotbar still displaying, even though the hotbar itself is not.
(This is very LOGAF low. Am just pushing the edge cases here)

Have managed to accidentally trigger the Blaze Map debug screen while moving the map around really fast. Have no idea what could possibly be triggering that.
Also got another crash while trying to replicate:
crash-2024-04-09_19.19.13-client.txt

If made to crash while connected to a server running Blaze Map, it only crashes the client but doesn't cause any ill effects on the server. Because of this, will leave it up to you to decide the priority on these edge case fixes, given no reasonable person should run into them and any unreasonable people can't spoil the fun for anyone else with it.
crash-2024-04-09_19.37.37-client.txt


388 time period of creation

https://github.com/uwlib-cams/MARC2RDA/blob/main/Working Documents/3XX.csv

@cspayne @tmqdeborah @GordonDunsire @CECSpecialistI
Mapping of 388, Time period of creation, is ready for review.  There are some messy aspects of this tag - I did my best but am open for comments.  Some notes on choices:
The tag speaks of associating the time period with the "work/expression".  Lacking any data to specify expression, I'm using http://rdaregistry.info/Elements/w/P10317  "related timespan of work"  to the work generated for this mapping.
We may not need to in every case, but if there is a $2 source for the term for a timespan, whether it's something like "American Civil War (1861-1865)" or single date, or a range of dates, I chose to mint a timespan URI and relate a nomen URI so as to relate the source as a nomen scheme.  Most of the examples I found from the WSU sandbox MARC search had $2.
Cypress, the list of sources is not developed (and is not in id.loc.gov) but it appears that subject sources are being used (lcsh and fast mostly).  I captured the URIs for these and also periodo, the only source defined in LC's list so far, from http://id.loc.gov/vocabulary/subjectSchemes which provide mads/skos descriptions of the schemes .
I reviewed the 0's/1's decision, am not sure I fully understand it or applicability of parts of it to this tag. If this does not fit with the way we are handling the codes for subjects, and/or if we need to use the complex "create a SKOS concept" route for handling of these timespans and any 0's and 1's associated, let me know -  there weren't many in the sample I viewed, and the pattern was that if there was a $1, such as a Wikidata entity for a time period, there wasn't a $2 source specified.   If we need to re-do this and change the transform notes please help me to do so, but I thought using URIs directly where possible the best practice, even though it may result in some redundant properties.
Deborah, note that indicator 1 can have a value "2 - Creation of aggregate work" .  This is a pretty clear indication that the record describes a (collection) aggregating work.  Hopefully you picked up on this and have it in your aggregate filters but if not, you would want to add it.  From the documentation it appears the intent is that the time period(s) defined with a bllank (not specified) or 1 (Creation of work) indictor are meant to be applied to aggregating works as well (and there would be no data to enable sorting them out to apply to specific aggregated works anyway).  But at least we know that a time period  with the indicator 1 = 2 does not apply to the content (and might be ignored for certain indexes that are for organizing by dates of original creation).


Bot performance question

Hi,
I see the concurrent connection to bot is set to 12.
ServicePointManager.DefaultConnectionLimit=12
I wonder I should change it to 100 to serve more concurrent calls and do you have any performance recommendation for each bot instance. Is that 1 call 1 connection?
Also the skype process will needs at least 2 cores VM. I tried 2 cores VM but it does not work. >= 3 cores then it start working. Is that a bug?Thanks

ServicePointManager.DefaultConnectionLimit concerns connection management for outgoing requests, not incoming. If your bot service makes a lot of concurrent HTTP requests to another service, it may be worthwhile to increase the DefaultConnectionLimit.
What VM type and size did you try? For example, was it a Standard_D2_v3? The media platform requires a minimum of two physical cores, while a D2_v3 has 2 logical CPUs sharing one physical core. Therefore, the smallest Dv3-series VM you can use is a Standard_D4_v3.
https://github.com/microsoftgraph/microsoft-graph-comms-samples/issues/146

Thanks you. That makes sense to me now. I tried D2_v3 :) then move to D3_v2 it worked. Do you have any idea about performance e.g how many calls the bot could handle at a time? The bot only records audio then put into wav file. Nothing more than that.

With performance/scalability, the answer is always "it depends." :)
A receive-only, audio-only bot that is doing little processing other than saving the audio frames should be able to handle at least 50 concurrent sessions per vCPU/core.
Some important considerations:

Monitor the CPU load and try to keep average CPU load < 70% for any particular VM instance in the bot service cluster. If CPU load gets too high, the media engine inside the bot media SDK may fail to maintain "real-time-ness," causing media glitches. Heavily loaded VM instances should temporarily be taken out of the load balancer until enough sessions complete/terminate to bring the CPU load back down, at which point the VM instance can go back into the LB to pick up new workload.
Each VM instance in the cluster must have its own public IP address (IL-PIP) and the total # of audio-only sessions on a given VM should be kept below about 1,500. The concern here is that if the incoming rate of UDP packets (which carry the audio media) exceeds a certain threshold, Azure DDoS protection mitigations may kick-in, causing packet drops. So if you find that your service scales to handle, say, 100 concurrent audio sessions per vCPU/core, then a 16-vCPU VM would be your max VM size. Recommended VM SKUs are D8_v3, D4_v2, and F8s_v2.
The performance of the AudioMediaReceived event handler is very important. The AudioMediaBuffer objects delivered to the event handler must be "consumed" quickly and the event handler must return promptly. If the event handler takes too long and/or the bot hangs on to the media buffer objects too long, the underlying real-time media engine will stall.
Typically the bot app needs to make a copy of the received media frames for asynchronous or off-line processing. In the AudioMediaReceived event handler, the first thing bot should do is make a copy of the frame data and then immediately call Dispose on the Buffer object (to release it back to the engine). Then enqueue the buffer copy for async processing and return from the handler.
The bot needs to handle an incoming rate of 50 audio buffers/second. Do not await any I/O operations in the event handler, and be careful about locking and logging too, or anything that may have unpredictable/highly-variable run time.


reduce the log spew for gateway switch events

When a gateway failure/defgw switch event occurs, there seem to be some code paths that get iterated over dozens of times in a very short span of time. This floods system.log making it hard to read. Specifically, these 2 phrases are repeated over and over:
...Gateways status could not be determined, considering all as up/active
...Keep current gateway, its already part of the group members

This is part of an effort to try to make the logs readable again, while still allowing verbose logging if needed via a new hidden config option from the developer shell:
$config['system']['gw-debug'] = true;
write_config("Enable verbose gateway switch logging");
exec
exit

[x] Redmine Issue: https://redmine.pfsense.org/issues/8914
[x] Ready for review

Thanks, I made those changes.