GNAT Studio Community 2020 unsupported

Using the RecordFlux plugin in GNAT Studio Community 2020 leads to an error:
rflx check
Traceback (most recent call last):
  File "/home/tr/Componolit/Devel/RecordFlux/venv/bin/rflx", line 5, in <module>
    from rflx.cli import main
  File "/home/tr/Componolit/Devel/RecordFlux/venv/lib/python3.9/site-packages/rflx/cli.py", line 15, in <module>
    from rflx.specification import Parser
  File "/home/tr/Componolit/Devel/RecordFlux/venv/lib/python3.9/site-packages/rflx/specification/__init__.py", line 1, in <module>
    from .parser import Parser  # noqa: F401
  File "/home/tr/Componolit/Devel/RecordFlux/venv/lib/python3.9/site-packages/rflx/specification/parser.py", line 8, in <module>
    from librflxlang import (
  File "/home/tr/Componolit/Devel/RecordFlux/venv/lib/python3.9/site-packages/librflxlang/__init__.py", line 68, in <module>
    _c_lib = ctypes.cdll.LoadLibrary(_c_lib_path)
  File "/usr/lib/python3.9/ctypes/__init__.py", line 452, in LoadLibrary
    return self._dlltype(name)
  File "/usr/lib/python3.9/ctypes/__init__.py", line 374, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /home/tr/Componolit/Devel/RecordFlux/venv/lib/python3.9/site-packages/librflxlang/librflxlang.so: undefined symbol: langkit_support__text__text_buffer_ifcT, version SYMS

This issue does not occur in recent versions of GNAT Studio.

We decided that Community 2020 will not be supported at all in version 0.5.0, so it does not make sense to consider this issue a limitation of this version.


VivosQuilt

Parameters

S3 bucket
AWS Credentials

Actions

track events on .quilt/*
create QuiltEvents: created, updated

https://medium.com/event-driven-utopia/sending-and-receiving-custom-events-with-aws-eventbridge-schema-registry-b73198b7a140

The best option is to use EventBridge Schema Registry to discover, create, and manage schemas for the events used by both services.

https://github.com/dunithd/edu-samples/blob/main/aws-eventbridge-custom-events/email-service/template.yaml
      Events:
        OrderConfirmed:
          Type: CloudWatchEvent # More info about CloudWatchEvent Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#cloudwatchevent
          Properties:
            EventBusName: custom-event-bus #Uncomment this if your events are not on the 'default' event bus
            Pattern:
              source:
                - edu.svc.orders
              detail-type:
                - Order Confirmed

Specifically:
When this S3 bucket
creates or updates a file
under s3://bucket/.quilt/named_packages/

Send me an email
Call Vivos

import { S3EventSource } from 'aws-cdk-lib/aws-lambda-event-sources'
import { Topic } from 'aws-cdk-lib/aws-sns'
import { EmailSubscription } from 'aws-cdk-lib/aws-sns-subscriptions'
import {
  AccountPrincipal,
  ManagedPolicy,
  PolicyStatement,
  Role,
  ServicePrincipal
} from 'aws-cdk-lib/aws-iam'

    // SNS Topic for failure notifications
    const topicName = `${APP_NAME}_workflow_status_topic`
    this.statusTopic = new Topic(this, topicName, {
      displayName: topicName,
      topicName: topicName
    })

    // Create an EventBridge rule that sends SNS notification on failure
    const ruleWorkflowStatusTopic = new Rule(
      this,
      `${APP_NAME}_rule_workflow_status_topic`,
      {
        eventPattern: {
          source: ['aws.omics'],
          detailType: ['Run Status Change'],
          detail: {
            status: ['FAILED', 'COMPLETED', 'CREATED']
          }
        }
      }
    )

    ruleWorkflowStatusTopic.addTarget(new SnsTopic(this.statusTopic))

    const servicePrincipal = new ServicePrincipal('events.amazonaws.com')
    this.statusTopic.grantPublish(servicePrincipal)
    this.statusTopic.grantPublish(this.principal) // for debugging purposes
    this.statusTopic.addSubscription(new EmailSubscription(props.email))

import {
  Bucket,
  BlockPublicAccess,
  EventType,
  BucketEncryption,
  BucketPolicy
} from 'aws-cdk-lib/aws-s3'

    const fastqWorkflowLambda = this.makeLambda('wf1_fastq', {})
    // Add S3 event source to Lambda
    fastqWorkflowLambda.addEventSource(
      new S3EventSource(this.inputBucket, {
        events: [EventType.OBJECT_CREATED],
        filters: [
          { prefix: this.manifest_prefix, suffix: this.manifest_suffix }
        ]
      })
    )


nextcloud_up = 0, when everything is fine

Hi! Quite often I get value 0 in metric nextcloud_up, but NC is running, responding, /ocs/v2.php/apps/serverinfo/api/v1/info page is accessible. What can be wrong?

Closing, because the same as https://github.com/xperimental/nextcloud-exporter/issues/18
in logs of exporter the same error


Search filter is not working while accessing in mobile desktop version

I noticed the search filter doesn't work with mobile desktop version. On blur, it seems to be filter but on the keypress event doesn't seem to filter. It happens only when I request for desktop version in mobile browser.
I tested in chrome mobile browser.

Works as expected . Tested in mobile safari browser in iphone.

I could see still the issue persist. Steps to reproduce

Browse the website in mobile browser
Switch to desktop version
Access the multi-dropdown. on typing, the results dont get filter


ovpn_getclient combined-save, Directories are not created

When generating a client with
ovpn_getclient NAME combined-save
The process fails with
/etc/openvpn: No such file or directory
This is because the directory is not created.
I made a fix and pull request.

Cool, merged.  Thanks!


UX for settings

Would be really nice to have UI for settings like in original Spectral VS Code plugin:

Supported in version 0.2.3. But for now there is only one setting.

0.2.4 added one more setting item:


[React] Swiper breaking the width

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Swiper Version: 6.4.5

Platform/Target and Browser Versions: Anything PC Browsers

Live Link or JSFiddle/Codepen or website with isssue: https://codesandbox.io/s/react-swiper-stciking-out-8e1xs

What you did
Please look into codesandbox
Expected Behavior
I expected swiper containers not breaking the width. Like if parent has 1900px (100%), then swiper should have 1900px (100%) width.
Actual Behavior
Swiper's sticking out of parent width.

This is how CSS work, style and set container size as you need. Swiper doesn't do any magic with its sizes

This is how CSS work, style and set container size as you need. Swiper doesn't do any magic with its sizes


make caller responsible for creating client

I think it's a probably a bit nicer to have the caller responsible for creating (and closing) the containerd client. It simplifies the code and means there won't be any need to pass through creation parameters to the registry.
This does assume that the client type is OK for concurrent use though, so YMMV.

Yeah, this was my initial thought!  My concern was that if containerd comes and goes, this might not handle that reliably, but I probably just don't understand gRPC well enough. :sweat_smile:


Update endpoints, enhance capabilities

I'm following up on PR #3.
My Rails app uses Devise + Omniauth, and we also need to implement the Clever Instant Login "Log in With Clever" flow. I happened across this gem. As @Swati24 pointed out, the endpoints need to be updated at a minimum, but more than that I need to extend this strategy's capabilities.
My use case also requires that my app not only contact Clever's /me endpoint but also make a subsequent request to one of their role endpoints, /v1.1/students, /v1.1/teachers, etc., in order to extract enough information for my app to provision new users on-the-fly. This is similar to what the omniauth-google-oauth2 gem does.
So my question becomes, should I fork this and maintain it myself or are you guys willing to accept a pull?

Looks like the latest version of this gem is hosted by clever over here https://github.com/Clever/omniauth-clever , and the endpoints have been updated.

Sorry I missed that, and sorry to bother. Thanks!


[FIXED] grammatical errors in README.md

hi @kuv2707 , there are some good-first-issue below. Please feel free to pick up some if you are interested.
https://github.com/LinuxSuRen/api-testing/issues?q=is%3Aissue+is%3Aopen+label%3A"good+first+issue"

Hi @LinuxSuRen
I have started working on some of the issues.
Meanwhile, it would be great if you added the hacktoberfest-added label to this PR.

Meanwhile, it would be great if you added the hacktoberfest-accepted label to this PR.

Sure. Happy to work with you.


cause for failed browser start hidden

Hello, there seems to be no way to figure out why browser startup failed.
[10] pry(#<CucuShift::DefaultWorld>)> Watir::Browser.new :firefox
Selenium::WebDriver::Error::WebDriverError: unable to obtain stable firefox connection in 60 seconds (<IP_ADDRESS>:7055)

The reason he I know, but this is not the case always. To replicate I just run firefox without a X11 server. But there is no indication in the backtrace that the process failed to start. I think watir could report better that process died.

Firstly, this would be a Selenium issue and not a Watir issue. Secondly, I'm not sure it would be possible to always determine why the connection doesn't happen because I know of several different causes of this error. If you have specific suggestions, please create a Selenium issue / pull request and we can take a look. Thanks.


Update what-s-new-in-sql-server-2022.md

Updated information about SSMS:

updated version to 19.0.1
mentioned that it's GA
removed "Preview 3"

@MikeRayMSFT - can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@VladDBA  - Thank you for the submission
This commit was superseded by https://github.com/MicrosoftDocs/sql-docs/pull/8574
#please-close


Permit overriding name, build, and project on a per-browser basis.

Browserstack uses the name property in the browser configuration
to uniquely name sessions within a specific build. If these sessions
do not have a unique name, and are executed sequentially (or with a
concurrency < total # of browsers), browserstack's UI will overwrite
previous results with new ones. In cases where a karma test run is
executed on multiple browsers, this isn't really desirable.
While I was at it, I also incorporated changes from #71, and
updated the README to also include documentation for that change. With
this patch, name, project, and build, may all be overridden on
a per browser basis.

A note on the dependency update - it turns out that grunt-auto-release changed its grunt version requirement in 0.0.7, breaking peerDependencies in the project. For my patch to pass, I had to update the version to 0.0.6 (the last version that required grunt@~0.4).

Thanks :octocat:


Backend implementation

refactor: added testing utils and changed names
feat(backend): finished app.js scraper impl
feat(backend): complete impl of route handlers

Right now the implementation of the backend parsers for app.js and route handlers files are working. However, this impl is very messy and those two scrapers are not linked yet. Also there is no way to consume the backend parsers from the entry point of the lib crate.


requirements: Update 'idna'

Changelog:

2.10 (2020-06-27):
https://github.com/kjd/idna/blob/v2.10/HISTORY.rst#210-2020-06-27
…

Code diff: https://github.com/kjd/idna/compare/v2.8...v2.10

@jtrh apparently idna is not a mandatory dependency of cryptography since v2.5 https://cryptography.io/en/3.4.5/changelog.html#v2-5

BACKWARDS INCOMPATIBLE: U-label strings were deprecated in version 2.1, but this version removes the default idna dependency as well.

@glarrain I'll update idna's dependency tree.


Toggle between Metric and Imperial system

This been long outstanding issue with connect app. Either solution would be

Manual toggle between Metric and Imperial system
Automate toggle based on location

This is already implemented, based on locale settings of the device


[$250] [HOLD for payment 2024-10-22] [HOLD #49697]  [Wave Control] [QBD] Import settings main page

Will be worked on by an external contributor (see https://expensify.slack.com/archives/C03SLTAEULW/p1726876645021139).

Please apply to the job about @hoangzinh @ZhenjaHorbach -- thanks!

Offer sent to @ZhenjaHorbach

Bump @hoangzinh

Offer sent @hoangzinh

bump @hoangzinh

Payment summary
@hoangzinh requires payment (Needs manual offer from BZ) - paid $250 via upwork
@ZhenjaHorbach - paid $250 via upwork
thanks!


CB-12614 Validate at cluster creation time, that instance types support instance storage, when cluster was posted with ephemeral volumes as temporary storage

Validate at cluster creation time, that instance types support instance storage, when cluster was posted with ephemeral volumes as temporary storage
https://github.com/hortonworks/cloudbreak/pull/10698 is a prerequisite for this PR.

Sadly it feels like you had to touch every test class in the universe...

I wanted to introduce a new constructor for InstanceTemplate, however the json deserialization does not support multiple constructors.


Swipe horizontal not working on all elements (mobile only)

I use a v-touch component as a container  to act on the swipeleft an swiperight event and it works as expected on desktop view.
But when switching on mobile, only some child elements seems to listen to.
Here is the code below (Vuejs 2.1.10 & vue-touch 2.0.0-beta.4):
import VueTouch from 'vue-touch'

VueTouch.config.swipe = {
    direction: 'horizontal'
}

Vue.use(VueTouch, {name: 'v-touch'})

// ... and in the template:

<v-touch v-on:swipeleft="onSwipeRight2Left" v-on:swiperight="onSwipeLeft2Right">
     // The page content
</v-touch>

Am I missing something?

+1

Seems like a hammerjs problem really ...


Fix panic in itertools pruduct

I fixed panic caused by attempt to subtract with overflow.
But test_permutations and test_product_pickling still have error at self.pickletest.

I changed saturating_sub to wrapping_sub.
Thank you for your advice :)

Nice work :)


[Auto] [Qt] remove ProxySocksVersion from OptionID

we only support SOCKS5, so remove it

build fails for me too, back to you, @rnicoll :-)

Rebased locally, works.


fix Techdocs feedback link breaking with Gitlab subgroups in path

Signed-off-by: Adrian Ke<EMAIL_ADDRESS>Hey, I just made a Pull Request!
Feedback icon link in TechDocs was incorrect when Gitlab subgroups(s) are in the given repo_url in mkdocs.yml, i.e. there is an extra keyword in the URL for Gitlab subgroup.
This fixes the above.
Also, unit tests for generating the feedback icon link from the edit icon link (which is from MkDocs) have the edit icon link URLs updated, as the old ones were not similar to what Mkdocs generates.
:heavy_check_mark: Checklist

[ :heavy_check_mark: ] A changeset describing the change and affected packages. (more info)
[ NA ] Added or updated documentation
[  :heavy_check_mark: ] Tests for new functionality and regression tests for bug fixes
[ NA ] Screenshots attached (for UI changes)
[  :heavy_check_mark: ] All your commits have a Signed-off-by line in the message. (more info)

Thanks, @drianke77, for contributing 🎉!
Please take a quick look at the pipeline checks, the first is failing...

Thanks, @adrianke77 for contributing 🎉!
Please take a quick look at the pipeline checks.
The first is failing...

It's complaining about the word 'Gitlab' being in the changelog. I think this can be ignored?


python310Packages.tensorflow build failure on x86_64-linux as of 8a8c18b3

Steps To Reproduce
Steps to reproduce the behavior:
nix-build -A python310Packages.tensorflow

Build log
gist
Additional context
First bad commit from bisection: 8a8c18b31e5f34cbdce47271571ed39e730aeb88
Notify maintainers

@jyp @abbradar
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.14.0-1046-oem, Ubuntu, 20.04.2 LTS (Focal Fossa), nobuild`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.7.0`
 - channels(root): `"nixpkgs"`
 - channels(matt): `"home-manager, nixgl"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixpkgs`

./tensorflow/lite/schema/schema_generated.h:3406:32: error: no matching function for call to 'tflite::QuantizationParameters::VerifyField<uint8_t>(flatbuffers::Verifier&, tflite::QuantizationParameters::FlatBuffersVTableOffset) const'
 3406 |            VerifyField<uint8_t>(verifier, VT_DETAILS_TYPE) &&
      |            ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /nix/store/v7374h4362440cz6b3brx28lffm3dbkw-flatbuffers-2.0.6/include/flatbuffers/flatbuffer_builder.h:31,
                 from /nix/store/v7374h4362440cz6b3brx28lffm3dbkw-flatbuffers-2.0.6/include/flatbuffers/flatbuffers.h:27,
                 from ./tensorflow/lite/schema/schema_conversion_utils.h:18,
                 from tensorflow/lite/schema/schema_conversion_utils.cc:15:
/nix/store/v7374h4362440cz6b3brx28lffm3dbkw-flatbuffers-2.0.6/include/flatbuffers/table.h:115:8: note: candidate: 'bool flatbuffers::Table::VerifyField(const flatbuffers::Verifier&, flatbuffers::voffset_t, size_t) const [with T = unsigned char; flatbuffers::voffset_t = short unsigned int; size_t = long unsigned int]'
  115 |   bool VerifyField(const Verifier &verifier, voffset_t field,
      |        ^~~~~~~~~~~
/nix/store/v7374h4362440cz6b3brx28lffm3dbkw-flatbuffers-2.0.6/include/flatbuffers/table.h:115:8: note:   candidate expects 3 arguments, 2 provided
In file included from ./tensorflow/lite/schema/schema_conversion_utils.h:19,
                 from tensorflow/lite/schema/schema_conversion_utils.cc:15:
./tensorflow/lite/schema/schema_generated.h:3409:32: error: no matching function for call to 'tflite::QuantizationParameters::VerifyField<int32_t>(flatbuffers::Verifier&, tflite::QuantizationParameters::FlatBuffersVTableOffset) const'
 3409 |            VerifyField<int32_t>(verifier, VT_QUANTIZED_DIMENSION) &&
      |            ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /nix/store/v7374h4362440cz6b3brx28lffm3dbkw-flatbuffers-2.0.6/include/flatbuffers/flatbuffer_builder.h:31,
                 from /nix/store/v7374h4362440cz6b3brx28lffm3dbkw-flatbuffers-2.0.6/include/flatbuffers/flatbuffers.h:27,
                 from ./tensorflow/lite/schema/schema_conversion_utils.h:18,
                 from tensorflow/lite/schema/schema_conversion_utils.cc:15:
/nix/store/v7374h4362440cz6b3brx28lffm3dbkw-flatbuffers-2.0.6/include/flatbuffers/table.h:115:8: note: candidate: 'bool flatbuffers::Table::VerifyField(const flatbuffers::Verifier&, flatbuffers::voffset_t, size_t) const [with T = int; flatbuffers::voffset_t = short unsigned int; size_t = long unsigned int]'
  115 |   bool VerifyField(const Verifier &verifier, voffset_t field,
      |        ^~~~~~~~~~~
/nix/store/v7374h4362440cz6b3brx28lffm3dbkw-flatbuffers-2.0.6/include/flatbuffers/table.h:115:8: note:   candidate expects 3 arguments, 2 provided
In file included from ./tensorflow/lite/schema/schema_conversion_utils.h:19,
                 from tensorflow/lite/schema/schema_conversion_utils.cc:15:

#183172

#183172

How is the apache-beam issue related? Seems like tensorflow is failing in this case due to flatbuffers upgrade?

Closing as fixed by https://github.com/NixOS/nixpkgs/commit/161ea79c15e300e671edf4e5cfd294d221a2e766


add minAge setting to nixos borgbackup options

Motivation for this change
Not all the systems I back up are online all the time, so I like to run multiple backups per day in the hopes of catching them when they're online, but not bother backing them up if there's already a recent backup. This change adds a minAge setting to borgbackup configuration; the backups will be checked with the configured frequency, but skip actually performing the backup if there's one for the same prefix more recent than minAge.
I've been using this feature on my server for about a year now.
Things done

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

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

also here (as in https://github.com/NixOS/nixpkgs/pull/85697), please use a different commit message to add yourself to the maintainers :)

also here (as in #85697), please use a different commit message to add yourself to the maintainers :)

Done.


APIKEY and APIKEYSECRET confusion

I am unable to understand these two terms. in first apikey is being used while taking taking hash apisecret is being used.

fauxapi-auth: :::
 = sha256()

What if i use below as it is. I use it, it gives no error.

curl
-X GET
--silent
--insecure
--header "fauxapi-auth: PFFA4797d073:20161119Z144328:833a45d8:9c4f96ab042f5140386178618be1ae40adc68dd9fd6b158fb82c99f3aaa2bb55"
"https://<IP_ADDRESS>/fauxapi/v1/?action=config_get"

Hi Masifpak,
Your question is not entirely clear to me, I'll attempt to answer as best I can, perhaps you could ask again with more description on what you are having trouble with.
 = the identifier of the API key, this is simply an reference value there is nothing secret about it
 = the secret value associated with the  keep this value private, also, in order to prevent poor choices there are (pedantic) rules around what values are valid here, have a read in the provided sample credentials file /etc/fauxapi/credentials.ini
NB: you MUST set your own  and  value before you'll be able to use the fauxapi.
Also, try adding __debug=true to the end of your curl request to obtain extra debug information that should help you in determining where the problem is - your request URL would hence become:-
https://<IP_ADDRESS>/fauxapi/v1/?action=config_get&__debug=true

Here is my credential.ini file. How can this help me in
curl  -X GET --silent --insecure --header "fauxapi-auth: PFFA4797d073:20161119Z144328:833a45d8:9c4f96ab042f5140386178618be1ae40adc68dd9fd6b158fb82c99f3aaa2bb55" "https://<IP_ADDRESS>/fauxapi/v1/?action=config_get"
I have also tried &_debug=true  but nothing happen. Just execute the command without any output or error.

[PFFAexample01]
secret = abcdefghijklmnopqrstuvwxyz0123456789abcd
owner = Example01 Firstname Lastname
[PFFAexample02]
secret = ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCD
owner = Example02 Firstname Lastname

I have also tried like this.

In below, i am using random apikey and apisecret and facing the following problem

What is the purpose of Owner. Can i use these same apikey and apisecret?

Hi Masifpak,
Based on the credential.ini you posted above, could I point you to the following sentence from the documentation: -

The two sample FauxAPI keys (PFFAexample01 and PFFAexample02) and their associated secrets in the sample credentials.ini file are hard-coded to be inoperative, you must create entirely new values before your client scripts will be able to issue commands to FauxAPI.

Before anything else, you need to add your own credential.  for example: -
[PFFAmasifpak1]
secret = abcdefghijklmnopqrstuvwxyz0123456789abcd
owner = Hello my name is masifpak

As far as I am aware, the owner field is purely for display purposes. (I think it is like a comment)
Hope that is of some use.

Hi Masifpak,
I've updated the documentation and provided an easy command line example to automatically generate credentials that will be valid:-
apikey_value
$ echo PPFA`head /dev/urandom | base64 -w0 | tr -d /+= | head -c 20`

apisecret_value
$ echo `head /dev/urandom | base64 -w0 | tr -d /+= | head -c 60`

Hope that clears things up for you

Hi,
I am facing some confusion regarding this play how to create API string i am trying to sync this firewall with 3rd party tool.
Here is my Credentials. ini file config.
;; PFFAexample01 is hardcoded to be inoperative
[PFFAfahad09800552]
secret =<PHONE_NUMBER>abcdefghijklmnopqrtsuvwxyz09812345
permit = alias_, config_, gateway_, rule_, send_, system_, function_*
comment = PFFAfahad09800552 - hardcoded to be inoperative
How i can check this one working? What is the roll of Python in it? What next configuration i need to do after this? How this API string create in below format?
fauxapi-auth: PFFA4797d073:20161119Z144328:833a45d8:9c4f96ab042f5140386178618be1ae40adc68dd9fd6b158fb82c99f3aaa2bb55
Is this example Auth ??


Create {1212}{Arman_08_08}{42788}.txt

Remember to fill in your Flow address in the content next time.


Allow users to upload his own schema.yml for validations

Allow users to upload his own schema.yml for validations

Done

Done


Re wording

Hello,
Can I please request an update to "If you aren't already using any other Dynamics 365 apps, you'll set up a new instance now. If you already have one or more instances, you'll be able to select an existing one that you want to integrate with the Marketing app, or create a new one."
"If you have not provisioned an instance of D365 CE, you can set up a new instance now. If you already have one or more instances, you'll be able to select an existing one that you want to deploy the Marketing app to"

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 01ffaa42-ad97-2a18-596b-b9f1249163bd
Version Independent ID: 6dbdc5b7-fbf5-dd22-112a-af92a208d094
Content: Set up Dynamics 365 for Marketing
Content Source: ce/marketing/purchase-setup.md
Service: dynamics-365-marketing
GitHub Login: @kamaybac
Microsoft Alias: kamaybac

Thanks for pointing that out, @josbur . I decided instead to remove that sentence because it's no longer possible to create a new CE instances from here. For a production instance, you must already have an instance available before you can install Marketing on it; for trials, the setup will now create a new trial instance automatically (skips this page of the wizard).

Great thank you Karl. I feel that it’s important to point out the difference between the trial setup and the installation into an instance. i.e. stand-alone rather than integrated.
Cheers,
Josh.
From: Karl Maybach<EMAIL_ADDRESS>Sent: Tuesday, 9 April 2019 5:44 PM
To: MicrosoftDocs/dynamics-365-customer-engagement<EMAIL_ADDRESS>Cc: Josh Burgess<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/dynamics-365-customer-engagement] Re wording (#947)
Thanks for pointing that out, @josburhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fjosbur&data=02|01|Josh.Burgess%40microsoft.com|a50d430d6ce54764d52908d6bcbf1c92|72f988bf86f141af91ab2d7cd011db47|1|0|636903926346736097&sdata=ZuLhqs9%2BQGmMKcP84hgeBqGwEEAS30T9Y7FlxDSTCZk%3D&reserved=0 . I decided instead to remove that sentence because it's no longer possible to create a new CE instances from here. For a production instance, you must already have an instance available before you can install Marketing on it; for trials, the setup will now create a new trial instance automatically (skips this page of the wizard).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fdynamics-365-customer-engagement%2Fissues%2F947%23issuecomment-481140308&data=02|01|Josh.Burgess%40microsoft.com|a50d430d6ce54764d52908d6bcbf1c92|72f988bf86f141af91ab2d7cd011db47|1|0|636903926346746112&sdata=e8Y6zBicLvplYwunFdj%2B3ydMQDfYfUz1gmC4rrOxDNk%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAvIn1nR6AIwY0mLKL4e449XIl0SJfUpiks5vfES4gaJpZM4cjhoB&data=02|01|Josh.Burgess%40microsoft.com|a50d430d6ce54764d52908d6bcbf1c92|72f988bf86f141af91ab2d7cd011db47|1|0|636903926346746112&sdata=lQiqdtOscGHrH2L1uih1rY9CdNg48%2B3nALuqrlsYQV0%3D&reserved=0.


Fix premature tags array refactoring

What kind of changes does this PR include?

Minor content fixes (broken links, typos, etc.)

Description
In a section 5.3 of Building a Blog there is a section "Create an array of tags".
The firts example in this section should have a harcoded array of tags for them to be dynamicly acquired later.
Before this PR the first example contained the final result, making the following refactoring unclear.

The fist step of "Create your list of tags" is
+
{tags.map((tag) =>
{tag}
)}

Hi @ejiek ! It looks like in the mean time, another fix to the tutorial code was made.  Thank you again for spotting this, and for taking the time to make the fix! We really do appreciate it.


Couchbase lite Nim version

I've looked into using Couchbase Lite in the past with Nim. Especially since you had a first party wrapper for it. Wanted to check it out again and much to my dismay the Nim repositories seems to be gone, however the link to it is still visible in the README of this repository. I assume it might have been maintenance cost which caused it to be abandoned, but it would be nice if the repository was still available (even with a huge DEPRECATED banner) in case anyone (for example me) would like to try and revive it as a third party offering.

I think in the end the reason we didn’t put it up is because it was in such a bad state that it would probably raise more questions than anything.  My recommendation would be to go back through the history to find it in this repo. The readme entry should be deleted I think.

Closed as no activities.

I mean the issue isn't really solved, but sure

Sorry for not putting more info in the comment. Basically, we do not support Nim language, and the couchbase-lite-nim repo doesn't actually exist. I have removed the link from the README. However, I have found the old implementation which will need a lot of update in the history here.


how to reinitialize swiper with new options

Hello guys
thanks for this amazing tool
I'm trying to reinitialize swiper with new options
I can't find a method yo update options
I need to make autoplay on/off by the user
How can I make this?
Kind regards

Do you want to ask a question? Are you looking for support? Stack Overflow is the best places for getting support

Please, don't use GitHub issues for questions


colab example for kws fails

while trying to run https://github.com/google-research/google-research/blob/master/kws_streaming/colab/02_inference.ipynb, i get :
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
[<ipython-input-3-e286e8d7df2d>](https://localhost:8080/#) in <module>
      1 # TF streaming
----> 2 from kws_streaming.models import models
      3 from kws_streaming.models import utils
      4 from kws_streaming.models import model_utils
      5 from kws_streaming.layers.modes import Modes

3 frames
[/content/google-research/kws_streaming/layers/spectrogram_augment.py](https://localhost:8080/#) in <module>
     17 from typing import Any, Dict
     18
---> 19 import tensorflow_model_optimization as tfmot
     20
     21 from kws_streaming.layers.compat import tf

ModuleNotFoundError: No module named 'tensorflow_model_optimization'

---------------------------------------------------------------------------

Please install dependencies as described in link

When you give colab example, it is assumed it will run as is.
On Mon, 5 Dec 2022, 04:36 rybakov, @.***> wrote:

Please install dependencies as described in link
https://github.com/google-research/google-research/blob/master/kws_streaming/experiments/kws_experiments_paper_12_labels.md#install-tensorflow-with-deps
—
Reply to this email directly, view it on GitHub
https://github.com/google-research/google-research/issues/1382#issuecomment-1336652034,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC7IWCZY2MQXS7QG3EFEL5TWLVILXANCNFSM6AAAAAASHRX6GY
.
You are receiving this because you authored the thread.Message ID:
@.***>


Floating focused window does not go to the top of the stack

Hyprland Version
v0.31.0
Bug or Regression?
Bug
Description
Floating window does not go to the top of the stack on keyboard focus and needs to be clicked with the mouse, this is especially annoying when the focused window is completely covered with another floating window, so you have to move/resize the bigger window to click the window you want to focus..
I am aware of the alterzorder and bringactivetotop dispatchers, and plan on using one of them as workaround for the time being, but I really do believe that bringing active to top should be default behaviour, or a variable to be toggled.
How to reproduce

create 2 floating windows.
overlap them.
move focus between the 2 (im using cyclenext binded on alt tab).

expected behaviour:
focused window covers all other.
actual behaviour:
focused window stays covered by other window.
attachment
Crash reports, logs, images, videos
https://github.com/hyprwm/Hyprland/assets/134085326/f96ef5f3-b16e-499c-bc7e-7d747e8b8774

i guess my issue is related.
when being in fullscreen (pseudo or not doesn't matter) mode and opening a floating window (bind = SUPERCTRL, Return, exec, [float] foot), it appears on top of fullscreen window, but isn't focused, like there is a 'noinitialfocus' rule, but there isn't. I am aware of new_window_takes_over_fullscreen, but when set to 2 it just unfullscreens me whenever any floating window pops up (ie steam friends playing something), which is really annoying. So this value is set to 0 for me and i can't replicate old behavior when newly opened floating windows weren't behind the stack and were opening having focus right away without me clicking on them.

expected behaviour

as above


Update copyright year in solr/NOTICE.txt file.

Happy New Year 2022!
Opening this tiny pull request for extra perspectives on when to update the line 139 copyright year:

When Lucene and Solr were one project and releases happened together updating both at the same time each year was the most convenient.
Now that Lucene and Solr are independent and releases decoupled, do we

leave the line 139 update until versions.props updates to a non-2021 Lucene version, or
something else?

Happy New Year!
Hehe, as the Lucene NOTICE text does not mention a specific Lucene release, I'd update it right away.

Hehe, as the Lucene NOTICE text does not mention a specific Lucene release, I'd update it right away.

Done.

@janhoy is it okay to merge and backport this to branch_9_0 also?


It's not at all obvious what the privacy fee is for.

It only became clear once I found the explanation on Reddit. These two need to be explained in the copy:

How is it different from paying a normal flat fee?
Does the ETH get refunded?

We've moved the privacy fee into an 'advanced' dialog and defaulted it to 0; hopefully this should remove some confusion.


Add MultiTenant.without to disable tenants for a block

Something like this would override the current_tenant for a block to for cross-tenant queries on an as-needed basis.
module MultiTenant
  def self.without(&block)
    return block.call if self.current_tenant.nil?
    old_tenant = self.current_tenant
    begin
      self.current_tenant = nil
      return block.call
    ensure
      self.current_tenant = old_tenant
    end
  end
end

This would enable something like:
MyModel.count
=> 50
MultiTenant.current_tenant = User.first
MyModel.count
=> 1
MultiTenant.without do
  MyModel.count
=> 50
end

Happy to submit a tested pull-request if the maintainers are interested.

This has been merged - thanks for the contribution!


feat: :sparkles: added a new generator for mongoose

I am merging this for now, but would appreciate a review.


Implement PDF batch processing

Currently limited to sequential processing of files. Requires changing upload() and download() methods on class ILovePDF to handle ZIP archives. See https://developer.ilovepdf.com/docs/api-reference#download.

I opened PR for it. Check it, pls.


Add GMM query synthesis oracle.

Pull Request Test Coverage Report for Build 176

6 of 6 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.1%) to 87.436%

Files with Coverage Reduction
New Missed Lines
%

src/QueryStrategies/qs_base.jl
1
85.71%

Totals

Change from base Build 174:
0.1%

Covered Lines:
682

Relevant Lines:
780

💛  - Coveralls


use std::path::Path in gl/build.rs

Hey, was trying to build a project and got an error, so I updated this to fix it.
There are warnings when building, but im pretty sure they were there before this update. Do you want me to fix them?

Thanks


Add tempfile and datapath helpers to specs

This PR introduces with_tempfile and datapath helpers to the stdlib spec suite.

with_tempfile receives a path and expands it relative to a temporary directory unique to every spec run. All temporary paths are prefixed by the name of the spec file that requests them. The constructed path is yielded and cleaned up after the block has returned. It can be used as file or directory path. The unique directory is removed at the end of the spec run (unless env var SPEC_TEMPFILE_CLEANUP is set to 0 - which can be useful for debugging).
datapath is used to create platform-independent paths to spec/std/data (or spec/compiler/data in the compiler spec).

Closes #5811
This is work in progress. Feedback is still welcome.

Looks good! Could you add a little doc for datapath, with_tempfile and SPEC_TEMPFILE_CLEANUP to explain when and how to use them?

@bew I added a comment to with_tempfile. It might even make sense to move this to the standard library as this feature would certainly be useful for other spec suites as well.
datapath is self-explanatory, I don't think it needs a comment.

On OSX it seems that $TEMPDIR it a randomized folder in /var/folders/ (like /var/folders/ms/xg67k5sn16xc7sdr_w3q45840000gn/T/ in one case). That's particularly bad for unix socket paths because together with the folder structure added by with_tempfile that's already 78 of maximum 103 bytes: /var/folders/ms/xg67k5sn16xc7sdr_w3q45840000gn/T/crystal-spec-12345678/socket/.
Any ideas on this? If we just set $TEMPDIR to /tmp it should probably be fine, CI doesn't need user-specific temp dirs. Otherwise we could let the socket specs use custom temp paths. Or simply use shorter file names in the spec to stay below the limit?

Apart from the OSX issue this is mostly complete. The remaining instances of __DIR__ and __FILE__ in spec are mostly used as compile time resources (such as file location) or as parser tokens.
crystal_path_spec still needs to be reworked, I have to look into the specs and implementation to figure out how exactly it is supposed to work. I wouldn't mind if someone had some insight on that (or even take over that part).
ecr_spec still uses hard coded paths to #{__DIR__}/../data/. This isn't bad in itself, because they are used at compile-time and can't use datapath for this. But I guess the paths could at least be hard coded relative to project root instead of __DIR__.

If TMPDIR is some weird path on osx, just ignore it and use /tmp.

@RX14 Do you mean generally, in with_tempfile (and if so, should it always switch to /tmp if it is /var/folders?) or just use custom temp file paths in Unix socket specs?
IMHO the easiest solution would be to set TMPDIR to /tmp in the ci script because it keeps platform specifics out of the spec code.

IMHO the cleanest solution would be to set TMPDIR to /tmp in the ci script because it keeps platform specifics out of the spec code.

Fixing things in the CI script is always wrong because you're admitting you're going to break the specs on everyone's osx laptops.
I meant change Tempfile.tempdir itself :)

I meant change Tempfile.tempdir itself :)

But why? If a user consciously sets TMPDIR to a specific path (or doesn't change the OS default but the difference is hard to tell), we should not just overwrite that. I don't think that makes any sense.
Consider the case that two programs on OSX are configured to connect to $TMPDR/mysocket.sock and TMPDIR is /var/folders/ms/xg67k5sn16xc7sdr_w3q45840000gn/T. If one is a Crystal program and ignores TMPDIR, they won't connect even if the path is actually valid. And that's hard to debug. If the path would be too long, it's even more confusing: The Crystal program would create a socket without issues but any other program complains about the path.
We could think about overwriting the temp dir used by with_tempfile. That can either be done in the spec code (which I don't like) or by configuring TMPDIR appropriately.
You could see it that way: The specs for Unix sockets puts them in a sub path of TMPDIR. In order for that to proceed, a short TMPDIR path is required. That's just an factual, external requirement for running the stdlib's spec suite. But certainly not for every Crystal program.
Let's consider the downsides: If we change the behaviour of Dir.tempdir to partially ignore TMPDIR, this will be highly unexpected (see example above) and for the great majority of use cases it is completely unnecessary. When TMPDIR path is too long, it can cause problems with Unix sockets. That's a fact, and we can't change it.
If we set TMPDIR in the ci script, the worst thing that can happen is that Unix socket specs fail on some people's OSX laptops. That's not a real problem and they can easy fix it by setting TMPDIR to a shorter path. We could even consider setting TMPDIR in the Makefile or bin wrapper to get it right for everyone's OSX laptop as well. Again: It's a specific requirement of the stdlib spec suite, not for every Crystal program.
However, this absolutely needs to be documented. Unix sockets will also fail in applications using a TMPDIR that is too long - and that's on any system, not just OSX.
Changing the spec suite to adapt to a special case is not a good solution for a generic problem. We should rather improve the error message for Unix sockets failing because of path length. Instead of Path size exceeds the maximum size of 103 bytes, it should at least show the exact path. And as it is pretty common to put Unix sockets in a temp dir, it could even check if the path is in TMPDIR and suggest adjusting the environment variable.

Tempfile.dirname isn't documented or specified to be TMPDIR, just a tempoary directory. If your program relies on it being TMPDIR, you can use ENV["TMPDIR"].
Specs failing on developer's laptops is very much a "real problem".

It's not documented but I'd say it's just missing documentation. The specs for Tempfile.dirname explicitly test for ENV["TMPDIR"] so it's part of the public API definition and looks to be intended (and expected) behaviour.
And again, I see no sane reason to generally ignore the environment variable if we think it's to long for one specific use case.

Let's just fix it by hard coding to /tmp on osx in with_tempfile

I really don't like that with_tempfile should override TMPDIR when it is specified. I would much rather prefer to set TMPDIR appropriately for running specs.
To get this moving forward, what do others think?
/cc @crystal-lang

well, the fact is that $TMPDIR on macos can be set to an insane value. How do you possibly intend on returning to sanity while respecting $TMPDIR?

Expect users to have a sane $TMPDIR when using Unix sockets (including but not limited to stdlib specs). This doesn't affect only MacOS: When a Linux user has a long $TMPDIR Unix sockets will fail as well. There is nothing we can do about unless we want to dictate everyone where their $TMPDIR should be.
Add export TMPDIR=/tmp to bin/ci so that the spec suit is run with a sane environment setting.

It would only break if the Unix socket specs are run and $TMPDIR is too long. That's unfortunately the default on OSX but it can easily be changed.
And there are countless ways to do that. A few suggestions: change global config, apply context-sensitive in crystal project folders, explicitly export in the current session, manually prepend TMPDIR=/tmp or just use an alias such as bin-crystal with TMPDIR=/tmp bin/crystal<EMAIL_ADDRESS>I think there should be a feasible solution for everyone.
And I'd improve the error message for Unix sockets failing because of path length, including an advice to change TMPDIR if the socket path is in that folder (see last paragraph of https://github.com/crystal-lang/crystal/pull/5951#issuecomment-382456291).

CI is failing

@asterite Yes, that's described in https://github.com/crystal-lang/crystal/pull/5951#issuecomment-381660740. The discussion in the past two weeks has been about how to fix this.

This needs to be merged for windows support, and this $TMPDIR issue needs to be solved. Why can't we just hack this to ignore Tempfile.dirname on osx, and then merge this PR.
A rebase on master to make sure this PR is still complete would be good.

Rebased.
I hacked in TMPDIR in bin/ci only for OSX to transparently use a customized short temp dir location. . This is the simplest solution for this and it works.

No, I've said it many times, that's not a working solution. It fixes ci but it doesn't fix specs on everyone's osx laptop. That's absolutely unacceptable to knowingly break people's specs just to get this merged.

Sigh. Your hardcoded temp path forces everyone's osx laptop to use /tmp as temp dir. That doesn't seem like an acceptable solution to me. That should be configurable.
With the current solution Unix socket specs can be fixed while still allowing for a custom temp location. It simply setting a simple environment variable.

@straight-shoota only for specs. And we've been round in circles and this is the only way to do it. You can make it look at a CRYSTAL_TMPDIR env var if you want to provide a configuration option for osx.
Forcing anyone running make spec on osx to manually export an env var to get the specs to run is unacceptable.

Can we just do ENV["TMPDIR"] = "/tmp" if flag?(:darwin)?

@jhass the problem is that on darwin TMPDIR is always set by the systems, and it's set to /var/folders/ms/xg67k5sn16xc7sdr_w3q45840000gn/T/. So the only fix is to ignore TMPDIR, which means we can't use ||=.

Forcing anyone running make spec on osx to manually export an env var to get the specs to run is unacceptable.

We could also set the TMPDIR on OSX in the Makefile.

@straight-shoota detecting the OS in the makefile will be far far harder than just using flag? in the crystal source.
Please just implement what I said.

If the spec name is added just to identify the calling spec, wouldn't using a trimmed hash of the test name do the trick? It's a new indirection level to link a spec to its files, but maybe we can print both the spec name and it's linked hash when the "keep the files instead of deleting" flag is set.

If the spec name is added just to identify the calling spec, wouldn't using a trimmed hash of the test name do the trick?

Maybe, but that depends on other factors as well. I wouldn't want to go that way, as it adds unnecessary complexity.
We just need to use a short temp dir path for running specs on Unix sockets.

@mgarciaisaia are you talking about reducing the length of the crystal-temp-46a28f4 portion of the path such that it fits under the character limit? That's an acceptable solution. If we only need to trim 5 characters, it should be easy enough to use something like crspec-ab45de12.

@RX14 Then let's put it in bin/crystal, for Christ's sake. And we don't even need to test for OSX but just for a TMPDIR path longer than, say 10 characters.

@straight-shoota why are you opposed to putting the same hack in support/tempfile.cr

Because it's confusing when a crystal program (even if it's "just" specs) simply ignores the value of the environment variable TMPDIR in some specific case. It should just be invoked with an environment that's suited for running these specs.

@straight-shoota but we need to ignore TMPDIR somewhere. This is the real world, and the environment is broken. We need to override the environment somewhere, and overriding it in bin/crystal would affect all the people who want to test their code using a checked-out crystal branch, instead of just people running specs. The only sane place to do this is in support/tempfile.cr because it is the most specific place and limits this braindamage to the smallest amount feasible.

Let's wait for a third opinion. This PR needs another core member review anyway.

There seems to be some security concerns about the TEMPDIR being predictable.
Chromium has the same issue, but it seems they haven't fixed it at all. There seems to be a trick involving opening the socket through /proc/self/fd, but I quite didn't get how it works.
emacs seems to suffer it, too. No solution implemented, but changing the TEMPDIR was proposed.

The issue happens whenever we try to create a socket in a path that's longer than the one the OS allows. I don't think going against the OS is a good approach, no matter how broken it is - but this is my super personal opinion, and it may be pretty much wrong or not apply to Crystal.
Do you recall other similar scenarios regarding OS limitations that we had to workaround/cope with?

@matiasgarciaisaia the security concerns is why we have the Tempfile class: it generates a random filename inside $TMPDIR and then creates the file with permissions such that no other user can open or modify the file. The same should exist for directories (but currently doesn't)
Regardless, this is irrelevant to the issue here: we don't need security for running the spec suite, and we'd be leaving the current behaviour for all applications. We'd simply be ignoring $TMPDIR in one specific place. I can't see what the objections are. At the very least it's an improvement: we had /tmp/ hardcoded into the specs in more than a few places before this change.

The PR is about making the spec more readable and portable. I would suggest to change the with_tempfile helper generates shorter path. (The specs that assert Errno for longer path will need to be rewritten to first obtain a tempfile and then append a too-long-path).
We don't need the tempfile to match 1:1 the spec that generated them. The only thing that matter is that they are fast to generate (to avoid slower specs) and short enough for all platforms under default settings.
So either a timestamp or random number + incarnation in case of collision is good enough for me.
In case we need the generated tempfile for debugging, running only one spec will probably be enough to get those files or even adding a debug message: Hey a tempfile /tmp/whatever/3546789 was generated spec "lorem ipsum"  in case the user wants to preserve them (for example if the spec involves multiple runs because of macros)

@RX14 I'll try it with a shorter tempfile subpath. Let's see if it works.

$ echo -n '/var/folders/ms/xg67k5sn16xc7sdr_w3q45840000gn/T/cr-spec-12345678/socket/unix_server-accept-closed.sock' | wc -c
103

if @path.bytesize + 1 > MAX_PATH_SIZE

we're one off.

Merge? (before this PR needs yet another rebase...)

I think that after this PR the make spec is broken. The ci uses make compiler_spec and make std_spec independently so it went unnoticed.
$ make crystal spec
Using /usr/local/bin/llvm-config [version=5.0.1]
CRYSTAL_CONFIG_PATH="/path/to/crystal" ./bin/crystal build  -o .build/crystal src/compiler/crystal.cr -D without_openssl -D without_zlib
.build/all_spec
Error: File spec/std/data/compiler_sample does not exist

True. The datapath definition from std spec helper overwrites the one from compiler spec.
We could easily rename it to datapath_compiler. Or just split make spec into compiler_spec and std_spec. I don't think it makes much sense to combine compiler and std specs into a single spec run/binary. They're actually independent spec suits.

I disagree. It's faster to compile combined.

I disagree. It's faster to compile combined. We should fix this.


Document i18n processes

There are two translation processes:

Translation of admin-configurable resources including question and program definitions. This is done using the admin UI and does not require code changes.
Translation of hard-coded CiviForm UI. This is done using Play Framework's i18n libraries and requires code changes + deployment.

@carolinedanzi is the expert for 2.

Updated https://github.com/seattle-uat/civiform/wiki/Internationalization-(i18n) to describe the two different localization processes

Done but needs review... Bion to review.


Use the whole chain when keying for proposals

Currently, we only use the head, which leads to confusion between ABC and ABxC chains.
https://filecoinproject.slack.com/archives/C06NTU2DPN1/p1712054917063199

Note this applies to both the quorumState used for most phases, and the convergeState.
However, I am not sure how much of a problem this actually is. Finality decisions are ultimately about tipsets, and the data about the rest of the chain is in most cases redundant.


Jumpy equivalent as vscode extension ?

Hello,
does anyone know if there is an equivalent to atom "jumpy" extension for vscode ?
https://atom.io/packages/jumpy
Thanks,
Benj

refs https://github.com/Microsoft/vscode/issues/792 :rose:


Alignment of "My Dashboards" menu item

The alignment of the "My Dashboards" menu item is off. It currently looks like this:

It should be vertically centered, like this:

I checked and it seems like this on the production now.

It is, however, the production build is a bit older, and doesn't include the updates you made so npm would run. If you compile it locally on your computer, you should see the change.
I will put it in a test instance to show you.


adjust os exit

Fixes issue #141
What this PR does and why we need it
I updated the CreateResourceProviderFromCluster function to find the KubeConfig and return an error if there is an issue retrieving the data. I wasn't able to figure out how to return the empty ResourceProvider, so I returned nil instead. Let me know if the empty ResourceProvider is necessary and I'll figure that out.
See line 132 for the specific line I'm referring to: https://github.com/reactiveops/polaris/compare/ks/adjust-os-exit?expand=1#diff-5524e4ddda8206adfe02f6a98ed7160eR132

Looks great, thanks Kim!
The caller will likely just bail out if an error is returned (as currently happens in main.go and dashboard.go), so no need for an empty ResourceProvider.

Also, for future reference, I think you could do something like return &ResourceProvider{}. But it's probably better to return null in this context.


Ubuntu 20.04 lts clean install Could not connect: Connection refused

Describe the bug
On running the setup.sh it downloads the mac image but after wards directly spits out Unable to init server: Could not connect: Connection refused
To Reproduce
Steps to reproduce the behavior:

clone the git repo
run setup.sh
chose 4 as recomended
See error

Expected behavior
Download mac image and setup the dependencies and VM
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: ubuntu 20.04 LTS with apt update and upgrade run before git clone
Version 20.04LTS running on an Intel Xeon E5-2670v1

Additional context
had teh same with the simple mac os kvm git

@sojab0on try running the kvm-ok command, and tell me the results.

And make sure to enable dvm and other visualization it the BIOS

BIOS is set correctly
output for kvm-ok
user@Docker01:~$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
Bios setup is set to do intel VT VT-x and VT-D

@sojab0on what is the full list of the output?

$ ./basic.sh
Could not connect: Connection refused
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.fma [bit 12]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.movbe [bit 22]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.bmi1 [bit 3]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2 [bit 8]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsaveopt [bit 0]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsavec [bit 1]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xgetbv1 [bit 2]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.fma [bit 12]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.movbe [bit 22]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.bmi1 [bit 3]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2 [bit 8]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsaveopt [bit 0]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsavec [bit 1]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xgetbv1 [bit 2]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.fma [bit 12]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.movbe [bit 22]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.bmi1 [bit 3]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2 [bit 8]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsaveopt [bit 0]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsavec [bit 1]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xgetbv1 [bit 2]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.fma [bit 12]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.movbe [bit 22]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.bmi1 [bit 3]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2 [bit 8]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsaveopt [bit 0]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsavec [bit 1]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xgetbv1 [bit 2]
qxl_send_events: spice-server bug: guest stopped, ignoring
Al those messages are warnings  except the QXL on the bottom never seen that one before

the host features have been resolved now

@sojab0on this should resolve the errors
sudo chmod 666 /dev/kvm
sudo xhost +
echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs

Closing as I think this resolved the issue. @sojab0on tell me if I am wrong.


Updated SQS and SNS resource creation to give option of creating AWS resources

@clicktravel-basharat Looks fine


Scenario: TerminalControl Interactivity Improvements

This is a comprehensive list of improvements to our interactivity model for v2. This is not finalized and may be updated as new issues come in or we make cuts for v2.
(Hidden) Refactors

[ ] #5099: mouse selection should begin/end at nearest cell boundary (and be inclusive start exclusive end like accessibility!)
[ ] #5814: Use til::point
[x] #3538: GenRTF() and GenHTML() should use shared components
[ ] #4423: Refactor Word Expansion (shared between accessibility/selection)
[ ] #6842: Interactivity layer

Selection
Features

[x] #4557: Shift+Multi-Click selection expansion
[ ] #3884: persistent selection on copy
[ ] Word Selection Improvements

[ ] #3077: Unicode character categories
[ ] #3077: regex support
[ ] #6178: double-click should line wrap if the word was broken across lines

[ ] #4993: Scenario: Keyboard Selection

refer to the GitHub issue above for more details

[ ] Copy Formatted Text

#4191: add array support
#5262: add keybinding arg

Bugs

[x] #5626: start selection from padding
[ ] #5766: Shift+Click initial click doesn't work

Touch Interactions
Features

[ ] #3149: Touch Zoom
[ ] #3109: Inertial Scrolling
[ ] #5159: Touch Selection

Miscellaneous Major Features

[ ] SnapOnOutput:

[ ] #980: pause scrolling when a selection exists
[ ] #3863: pause scrolling when not at bottom

[ ] also add a keybinding for that (ScrollLock)

[ ] #1553: Pointer Bindings

Clipboard

[ ] #6134 strip tabs when pasting, perhaps

If we do #6842 before we do #5099, #5814 and #4993 WPF gets it for free. Otherwise we need to disentangle those three when we do start 6842.


The module in the current directory was not loaded: Cannot find module

Starting the interactive shell (REPL). Type .help for help.
The module in the current directory was not loaded: Cannot find module '/var/www/xxx/xxx1/server'.
Didn't want to start REPL? Run /usr/local/bin/node-debug . instead.

HI, could you describe it more specifically please, posting a screenshot would be much better, Thanks.


TensorFlow 1.8.0-rc0 fails on aarch64 platforms

Building TensorFlow 1.8.0-rc0 from source fails on aarch64 platforms (NVIDIA TX1 and Linaro HiKey960) with a linking error for some Neon function:
Linking of rule '//tensorflow/cc:ops/remote_fused_graph_ops_gen_cc' failed (Exit 1)
bazel-out/host/bin/_solib_arm/_U_S_Stensorflow_Scc_Cops_Sremote_Ufused_Ugraph_Uops_Ugen_Ucc___Utensorflow/libtensorflow_framework.so: error: undefined reference to 'png_init_filter_functions_neon'

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): N/A (a build problem)
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 16.04 (JetPack 3.1)
TensorFlow installed from (source or binary): source
TensorFlow version (use command below): 1.8.0-rc0
Python version: 2.7.12
Bazel version (if compiling from source): 0.12.0
GCC/Compiler version (if compiling from source): 5.4.1
CUDA/cuDNN version: N/A (CPU ony)
GPU model and memory: N/A (CPU only)
Exact command to reproduce: Install dependencies and build via CK-TensorFlow:

$ sudo apt install liblapack-dev libatlas-dev
$ sudo pip install enum34 mock pillow wheel absl-py scipy ck
$ ck pull repo:ck-tensorflow
$ ck install ck-env:package:tool-bazel-0.12.0-linux
$ ck install package:lib-tensorflow-1.8.0-src-cpu --env.CK_HOST_CPU_NUMBER_OF_PROCESSORS=1

NB: Restricting the number of building processes to 1 is necessary to prevent running out of memory on the NVIDIA TX1 platform (4 GB and no swap enabled) or similar.
Describe the problem
Building TensorFlow 1.8.0-rc0 fails on aarch64 platforms (NVIDIA TX1 and Linaro HiKey960). Similar instructions for TensorFlow 1.7.0 with Bazel 0.11.1 worked well (both with and without XLA support):
$ ck install package:lib-tensorflow-1.7.0-src-cpu --env.CK_HOST_CPU_NUMBER_OF_PROCESSORS=1
$ ck install package:lib-tensorflow-1.7.0-src-cpu-xla --env.CK_HOST_CPU_NUMBER_OF_PROCESSORS=1

$ ck show env --tags=tensorflow,v1.7
Env UID:         Target OS: Bits: Name:                                       Version: Tags:

ed191cc45dda7ee4   linux-64    64 TensorFlow library (from sources, cpu, xla) 1.7      64bits,bazel,channel-stable,host-os-linux-64,lib,needs-bazel,needs-bazel-0.11.1,target-os-linux-64,tensorflow,tensorflow-cpu,v1,v1.7,v1.7.0,vcpu,vsrc,vxla
ed191cc45dda7ee3   linux-64    64 TensorFlow library (from sources, cpu)      1.7      64bits,bazel,channel-stable,host-os-linux-64,lib,needs-bazel,needs-bazel-0.11.1,target-os-linux-64,tensorflow,tensorflow-cpu,v1,v1.7,v1.7.0,vcpu,vsrc

Source code / logs
ERROR: /home/anton/CK_TOOLS/lib-tensorflow-src-cpu-1.8-linux-64/src/tensorflow/cc/BUILD:510:1: Linking of rule '//tensorflow/cc:ops/remote_fused_graph_ops_gen_cc' failed (Exit 1)
bazel-out/host/bin/_solib_arm/_U_S_Stensorflow_Scc_Cops_Sremote_Ufused_Ugraph_Uops_Ugen_Ucc___Utensorflow/libtensorflow_framework.so: error: undefined reference to 'png_init_filter_functions_neon'
collect2: error: ld returned 1 exit status
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 15373.402s, Critical Path: 153.22s
FAILED: Build did NOT complete successfully

Getting same error when building Tensorflow 1.7.0 with the same system information and Bazel 0.12.0

FWIW, I've got a different error building TensorFlow 1.7.0 using Bazel 0.12.0 on Linaro HiKey960:
$ ck install package:lib-tensorflow-1.7.0-src-cpu --env.CK_HOST_CPU_NUMBER_OF_PROCESSORS=2
...
ERROR: /home/anton/.cache/bazel/_bazel_anton/19f8e08691d47ead673afa362fc193f9/external/jpeg/BUILD:269:1: C++ compilation of rule '@jpeg//:simd_armv7a' failed (Exit 1)
gcc: error: unrecognized command line option '-mfloat-abi=softfp'
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 668.059s, Critical Path: 63.27s
FAILED: Build did NOT complete successfully

Smells like a Bazel 0.12.0 problem separate from the issue reported here.

@gunan could you please take a look?

@gunan You can simply follow Collective Knowledge based instructions above. They encapsulate a couple of patches our community found necessary on aarch64 systems (including TX1).

@psyhtest Thanks for the pointer. However I am reaching out to my teammates who I know has looked into running and building TF on NVIDIA Tegra TX1 before, to check if we have any official instructions somewhere. Sorry for the ambiguous question I posted above.

@gunan No problem at all. Just wanted to help you reduce the drudgery to the minimum and accelerate time-to-solution :).

I confirm I have found the same error on Jetson TX2 with r1.8 and bazel 0.12

More concretely:
ERROR: /home/nvidia/Documents/tensorflow/tensorflow/python/BUILD:1569:1: Linking of rule '//tensorflow/python:gen_set_ops_py_wrappers_cc' failed (Exit 1): crosstool_wrapper_driver_is_not_gcc failed: error executing command
  (cd /home/nvidia/.cache/bazel/_bazel_nvidia/38f510ce87073e6e7989e37d45036c24/execroot/org_tensorflow && \
  exec env - \
    LD_LIBRARY_PATH=/usr/local/cuda/lib64/: \
    PATH=/usr/local/cuda/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin \
    PWD=/proc/self/cwd \
  external/local_config_cuda/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc -o bazel-out/host/bin/tensorflow/python/gen_set_ops_py_wrappers_cc '-Wl,-rpath,$ORIGIN/../../_solib_local/_U_S_Stensorflow_Spython_Cgen_Uset_Uops_Upy_Uwrappers_Ucc___Utensorflow' '-Wl,-rpath,$ORIGIN/../../_solib_local/_U@local_Uconfig_Ucuda_S_Scuda_Ccudart___Uexternal_Slocal_Uconfig_Ucuda_Scuda_Scuda_Slib' -Lbazel-out/host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Uset_Uops_Upy_Uwrappers_Ucc___Utensorflow -Lbazel-out/host/bin/_solib_local/_U@local_Uconfig_Ucuda_S_Scuda_Ccudart___Uexternal_Slocal_Uconfig_Ucuda_Scuda_Scuda_Slib '-Wl,-rpath,$ORIGIN/,-rpath,$ORIGIN/..' -Wl,-z,notext -Wl,-z,notext -Wl,-rpath,../local_config_cuda/cuda/lib64 -Wl,-rpath,../local_config_cuda/cuda/extras/CUPTI/lib64 -pthread -Wl,-no-as-needed -B/usr/bin/ -pie -Wl,-z,relro,-z,now -no-canonical-prefixes -pass-exit-codes '-Wl,--build-id=md5' '-Wl,--hash-style=gnu' -Wl,--gc-sections -Wl,-S<EMAIL_ADDRESS>bazel-out/host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Uset_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `png_init_filter_functions_neon'
collect2: error: ld returned 1 exit status
Target //tensorflow/tools/pip_package:build_pip_package failed to build
INFO: Elapsed time: 4073.346s, Critical Path: 358.03s

1.8.0-rc1 fails too; also on Firefly-RK3399.

I can confirm (as stated above) that  TensorFlow 1.7.0 with Bazel 0.11.1 works. But i have to change the hardcoded x86 paths to aarch64 in tensorflow....

@WilliamJuel Interesting. Could you please provide a couple of examples what you need to do? I don't think we need to change anything with our automatic Collective Knowledge workflow. By the way, feel free to give it a try to see if it's easier than what you have to do currently.

Potentially the same/related issue - the nightly Raspberry Pi builds are hitting this (and have been failing for several weeks now):
http://ci.tensorflow.org/view/Nightly/job/nightly-pi/245/console

I think on our end, our bazel build did not work on tegra tx1 yet. As far as I can learn internally our makefile build was working on tx1 last we experimented.
I will keep on looking to see if we have docs or instructions.

@gunan I believe one does need to patch Bazel on TX1 but the Collective Knowledge package takes care of that. So you can install Bazel using one CK command, and then TensorFlow using another one. (Just copy and paste the instructions from the top of the issue, and give it 10 hours )
This will allow you to reproduce the issue in the least painful way. As you can see from other reports, it's not specific to using CK for TensorFlow installation.

What I am trying to say is, we never officially made it working. It may or may not work, but we got the makefile build working.
I will mark this issue contributions welcome. I will add our official status later when I have it.

@gunan What I mean is that we've been able to build TensorFlow on TX1 since 1.4.0. 1.8.0-rc0 was the first to break.
If TX1 is not officially supported, then surely Raspberry Pi is (if it's part of the nightlies)? I agree with @jessebenson - it looks like the same issue. Would it be easier for you to investigate it there? I could help you then test across other aarch64 platforms I have access to (TX1, HiKey960, RK3399)?

If you google (sorry) for the name of the function (png_init_filter_functions_neon), you may find similar issues e.g. https://github.com/opencv/opencv/issues/7600.

Nightlies mean we are working on it. If it is released as an artifact during releases, or announced during releases that means we have official support for it.
We definitely want tensorflow to build and work properly on both TX1 and Raspberry Pi.
However, we want to make sure we have proper infrastructure to continuously build and test it before we announce our official support.

@psyhtest - yeah I looked into this yesterday, and found the same link you pointed out.  I was able to get the Raspberry Pi nightlies to build by adding --copt=-DPNG_ARM_NEON_OPT=0 - see (https://github.com/jessebenson/tensorflow/commit/b135e2d9a234e23cebc7b6d63043b40b07e76a1a).  I didn't include this in my pull request (https://github.com/tensorflow/tensorflow/pull/18892), as I'm not sure if that's the desired fix.

@jessebenson @peterlee0127 Thanks for the update! We'll give it a go.

@peterlee0127 I've incorporated your patch into ck-tensorflow:package:lib-tensorflow-1.8.0-src-cpu, and tested the latest TensorFlow v1.8.0 can be built with the latest Bazel v0.13.0:
$ sudo apt install liblapack-dev libatlas-dev
$ sudo pip install enum34 mock pillow wheel absl-py scipy ck
$ ck pull repo:ck-tensorflow
$ ck install ck-env:package:tool-bazel-0.13.0-linux
$ ck install package:lib-tensorflow-1.8.0-src-cpu [--env.CK_HOST_CPU_NUMBER_OF_PROCESSORS=1]

Specifically, here's how I built on Firefly RK3399 (4 GB RAM, with swap):
$ ck install package:lib-tensorflow-1.8.0-src-cpu --env.CK_HOST_CPU_NUMBER_OF_PROCESSORS=3
...
Installation time: 24036.3912299 sec.

and on Jetson TX1 (4 GB RAM, without swap):
$ ck install package:lib-tensorflow-1.8.0-src-cpu --env.CK_HOST_CPU_NUMBER_OF_PROCESSORS=1
...
Installation time: 51031.3029599 sec.

(In other words, it took less than 7 hours on RK3399, and more than 14 hours on TX1.)
Look forward to a more elegant solution to appear in TensorFlow v1.9.0, so this workaround is no longer needed.

In TX2, it still need about 3 hours. We should use cross compiler for building whl file in the future.

firefly-accuracy_top1-500-tf-complete.pdf

@peterlee0127 Agree but it sounds a bit scary given all the dependencies.

@gunan - can you take a look at this PR as well?  https://github.com/tensorflow/tensorflow/pull/18892  I want to get the official binaries built so I can extend Tensorflow for C# (https://github.com/migueldeicaza/TensorFlowSharp) to use ARM natively.

Please remove the assignee, as this issue is inviting external contributions. Otherwise, remove the contributions welcome label. Thank you.

This issue is fixed at head.
As 1.8 did not have official support for this platform, we will not patch the previous release.


WIP seeing if I can force multi platform builds

despite noarch, might be easier to remove that instead

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

noarch packages can't have selectors. If the selectors are necessary, please remove noarch: python.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

Failed to even lint the recipe, probably because of a conda-smithy bug :cry:. This likely indicates a problem in your meta.yaml, though. To get a traceback to help figure out what's going on, install conda-smithy and run conda smithy recipe-lint . from the recipe directory.

@Juanlu001 this pr allows us to fully test the spiceypy feedstock, however it feels that the tests for the regression that caused https://github.com/AndrewAnnex/SpiceyPy/issues/305 really belongs in the cspice-feedstock repository. I do not know if there is a clean way of executing the spiceypy test suite within the cspice-feedstock repository however.

I do not know if there is a clean way of executing the spiceypy test suite within the cspice-feedstock repository however.

Hmmm I wonder the same thing... @conda-forge/core any advice?

Oh, I see you are already trying it out in https://github.com/conda-forge/cspice-feedstock/pull/12/files#diff-e178b687b10a71a3348107ae3154e44cR36-R39.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to re-render for you, but it looks like there was nothing to do.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

You can use test-downstreams in cspice-feedstock. Using requires as in  https://github.com/conda-forge/cspice-feedstock/pull/12/files#diff-e178b687b10a71a3348107ae3154e44cR36-R39 creates a cycle, but test-downstreams will not.

@isuruf thanks, I wish the conda-forge documentation detailed this (unless I just missed it) as it took a few minutes to find https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html


build does not set RPATH

The binaries generated by cargo don't set RPATH, which means they don't work unless you happen to have libpq installed in a location that's on the runtime linker's default search path.  That happens to be true for lots of people but definitely isn't everyone.
To give you an example, in my case, I've got pg_config and the libraries are here:
$ which pg_config
/opt/ooce/bin/pg_config
$ pg_config --libdir
/opt/ooce/pgsql-13/lib/amd64

If I run cargo test from a clean checkout (looking at 3e367d53019a2740054d5dc6946e07931f1fb70b, the tip of master right now), it builds okay but fails at runtime:
$ cargo test
    Updating crates.io index
   Compiling pq-sys v0.4.6 (/home/dap/pq-sys)
    Finished test [unoptimized + debuginfo] target(s) in 6.45s
     Running unittests (target/debug/deps/pq_sys-f0d6d12067370f8b)

running 8 tests
test bindgen_test_layout__PQconninfoOption ... ok
test bindgen_test_layout__PQprintOpt ... ok
test bindgen_test_layout___sFILE ... ok
test bindgen_test_layout__bindgen_ty_8 ... ok
test bindgen_test_layout___sbuf ... ok
test bindgen_test_layout_pgNotify ... ok
test bindgen_test_layout_pgresAttDesc ... ok
test bindgen_test_layout__bindgen_ty_8__bindgen_ty_1 ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/smoke.rs (target/debug/deps/smoke-b3d1fb683ab2f0c8)
ld.so.1: smoke-b3d1fb683ab2f0c8: fatal: libpq.so.5: open failed: No such file or directory
error: test failed, to rerun pass '--test smoke'

Caused by:
  process didn't exit successfully: `/home/dap/pq-sys/target/debug/deps/smoke-b3d1fb683ab2f0c8` (signal: 9, SIGKILL: kill)
$

The reason is that the built binary depends on libpq (which is correct) but the RPATH does not include /opt/ooce/pgsql-13.
$ readelf -d /home/dap/pq-sys/target/debug/deps/smoke-b3d1fb683ab2f0c8

Dynamic section at offset 0x1d95b8 contains 42 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libpq.so.5]
 0x0000000000000001 (NEEDED)             Shared library: [libsocket.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libumem.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.1]
 0x000000000000000c (INIT)               0x5a7410
 0x000000000000000d (FINI)               0x5a7420
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/gcc/10/lib/amd64]
 0x000000000000000f (RPATH)              Library rpath: [/usr/gcc/10/lib/amd64]
...

Cargo does not have great support for setting the RPATH -- see rust-lang/cargo#5077.  I can work around this on my system using the cargo:rustc-link-arg instruction to pass -Wl,-R/the/library/path to the compiler driver at build time.  I will test this out on a few systems and send a PR shortly!

For what it's worth, this is still a problem, but I don't think there's a great way to solve it from pq-sys.  The problem with the suggestion I had above (implemented in #37) is that these linker args aren't passed up to the builds of dependencies.  So while this causes cargo test to work on the pq-sys repo, programs that use pq-sys still can't find the library.
I experimented with a different approach where pq-sys would emit Cargo metadata saying where it found the library.  You can see this in this branch.  Then, in the crate that uses pq-sys, I have a build script that looks like this:
fn main() {
    if let Some(rpaths) = std::env::var_os("DEP_PQ_LIBDIRS") {
        for p in std::env::split_paths(&rpaths) {
            println!("cargo:rustc-link-arg=-Wl,-R{}", p.to_string_lossy());
        }
    }
}

This works except for two caveats: first, that metadata is only available to immediate dependents.  In my case, my crate depends on diesel, which depends on pq-sys.  So I had to add a dummy dependency from my crate on pq-sys just so that my build script could get this metadata.  This is only correct because Cargo will dedup them and only build pq-sys once.  The second caveat is that it doesn't work for doctests.  I hope this is just an oversight.
Ultimately, I decided to try linking statically instead.  I ran into other problems with this that I'll mention in #27.


HDDS-3892. Datanode initialization is too slow when there are thousan…

https://issues.apache.org/jira/browse/HDDS-3892

Hi @ChenSammi
Thanks for the PR.
I too have the same comment as @sodonnel. I think we need to close the DB instance if we get an instance from the cache.
And also do you have this version on your deployed cluster
https://github.com/apache/hadoop-ozone/commit/a2ab8d6e35f60af9762a191265942071755329be
This saves in iterating Db to compute block metadata, and get all the required metadata from db.get(). We have observed this issue during a billion object test.
For older containers created before HDDS-3217, we still iterate and set block metadata. (But this fixed a bug, where we used to iterate thrice for open containers)

@bharatviswa504  we have HDDS-3217 deployed.

I see one issue with this approach.
If the database is already opened, and if we try to open again we will get this error.
I think, with this change, we will throw an exception if we try to open the database again an already existing one.
java.io.IOException: Failed init RocksDB, db path : /Users/bviswanadham/workspace/hadoop-ozone/hadoop-hdds/container-service/target/test-dir/xCkBnsLVrc/cont1, exception :org.rocksdb.RocksDBException lock : /Users/bviswanadham/workspace/hadoop-ozone/hadoop-hdds/container-service/target/test-dir/xCkBnsLVrc/cont1/LOCK: No locks available

@bharatviswa504 , I get your point. It's an issue, but not introduced by this patch.  It's a currenlty existing issue and we need to carefully think about how to fix it with a new JIRA.

The failed integration test is irrevelant.

Thanks @bharatviswa504  and @adoroszlai for the review. lock per containerDBPath in ContainerCache is a good idea. I tried it but cannot solve our problem given a volume has nearly 20K containers, it still take nearly an hour for the datanode to finish the initialization.

Thanks @bharatviswa504 and @adoroszlai for the review. lock per containerDBPath in ContainerCache is a good idea. I tried it but cannot solve our problem given a volume has nearly 20K containers, it still take nearly an hour for the datanode to finish the initialization.

With a lock per containerPath, where does the bottle neck come from? Is it around the lock, or does a single thread load all the containers for a volume, and therefore its the time taken to init all the DB instances that is the bottleneck?

Thanks @bharatviswa504 and @adoroszlai for the review. lock per containerDBPath in ContainerCache is a good idea. I tried it but cannot solve our problem given a volume has nearly 20K containers, it still take nearly an hour for the datanode to finish the initialization.

With a lock per containerPath, where does the bottle neck come from? Is it around the lock, or does a single thread load all the containers for a volume, and therefore its the time taken to init all the DB instances that is the bottleneck?

The DB open takes time. The LOCK makes the DB open action one by one. Once it has more than 10K rocksdb in a volume, the initialization takes a considerable time, say more than 30minutes.
There are several severe consequence of datanode slow initialization,

service unavailable
scm will treat datanode as DEAD(We have raised the DEAD threshold to 30m in our cluster), and close all the related pipeline and containers related with this datanode, which contributed to why there are so many small containers in our cluster. It's a negative cycle.

These changes with the striped lock LGTM, +1.
One question - have you been able to test this change on your DNs with a large number of containers, and did it give a good improvement?

Yes, I have tested it on a datanode with 20K+ containers, it costs about 30m to finish the ContainerSet build.  Before the patch,  time spending is about 10 times longer.  If we ignore the lock during ContainerSet build,  it costs about 15m.

These changes with the striped lock LGTM, +1.
One question - have you been able to test this change on your DNs with a large number of containers, and did it give a good improvement?

Thanks @sodonnel .
Yes, I have tested it on a datanode with 20K+ containers, it costs about 30m to finish the ContainerSet build. Before the patch, time spending is about 10 times longer. If we ignore the lock during ContainerSet build, it costs about 15m.

This seems like a good improvement for a relatively simply change. I think removing the lock completely is risky and may cause some other problems, either now or later.
@bharatviswa504 @adoroszlai  - have you guys any further comments or concerns with the latest patch?

Thanks @bharatviswa504 @sodonnel and @adoroszlai for the code review and great suggestions.


Create documentation page

Possibly with sphinx + readthedocs?

Done, https://ocp-freecad-cam.readthedocs.io/en/latest/


Update man of aur repo-filter

There are some differences in the documentation and the actual behavior of aur repo-filter.

:+1:


Expose maxHandshakeRequests property

Codecov Report

Merging #4 (af46ae8) into master (f55f914) will not change coverage.
The diff coverage is 50.00%.

@@           Coverage Diff           @@
##           master       #4   +/-   ##
=======================================
  Coverage   39.02%   39.02%
=======================================
  Files           1        1
  Lines         164      164
  Branches       48       48
=======================================
  Hits           64       64
  Misses         66       66
  Partials       34       34

Impacted Files
Coverage Δ

src/postmate.js
39.02% <50.00%> (ø)

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more