Disallow consuming segment deletion

Recently we had an incident that some consuming segments were deleted by an operator by mistake.
Now that pause/resume are in place, there's no use case for intentionally deleting a consuming segment. In this task, the segment DELETE endpoint needs to be modified to check if the provided segment name is a consuming segment and if so, fail the request with proper error message.

I can take it

I don't think we should prevent user from deleting a consuming segment because it is a valid operation, and can help when a table run into some weird state. @sajjad-moradi Can you explain the problem you run into when the consuming segment is deleted? We already added an API to explicitly create the consuming segment, and if necessary we can integrate it into the periodic task to automatically create it when none exists.

@Jackie-Jiang In our clusters, whenever a consuming segment was deleted, it was a result of a user error. So we prefer to not delete consuming segments. That being said, I see your point of using delete endpoint for deleting some consuming segments being in weird state.
What do you think of adding an extra flag indicating force-deleting a consuming segment?
DELETE /segments/{tableName}/{segmentName}
returns 400 if the segment is in consuming state, with error saying “{segmentName} is in consuming state. If you need to delete the consuming segment, provide ‘forceDeleteConsumingSegment’ parameter”.

DELETE /segments/{tableName}/{segmentName}?forceDeleteConsumingSegment=true

Hi @Jackie-Jiang  what is the use case to delete consuming segment (instead of using the PAUSE API)?

For example, there is some malformed data from upstream, which is causing consuming segment to run into ERROR state. Pausing might not help because segment metadata manager is already error'ed out. In order to manually skip the bad data, we want to delete the consuming segment and re-create the consuming segment with the latest offset.
Adding an extra argument to explicitly delete consuming segment sounds good to me. We might want to reject the deletion when the flag is set but the segment is not consuming segment to prevent user from always setting the flag.

Two things:

We are proposing to prevent deletion of segments in CONSUMING state. ERROR state is not included in this
Can we change PAUSE to include error segments (optionally)? All it would do is to simply remove the segment, and change the IDEALSTATE to make sure that it is consistent with missing CONSUMING segments. wdyt?

We are proposing to prevent deletion of segments in CONSUMING state. ERROR state is not included in this

I don't follow this. Are you saying you want to check EV to decide whether a segment can be deleted? That doesn't sound correct to me.

Can we change PAUSE to include error segments (optionally)? All it would do is to simply remove the segment, and change the IDEALSTATE to make sure that it is consistent with missing CONSUMING segments. wdyt?

This proposal is essentially making PAUSE to delete the consuming segment. IMO this behavior is not intuitive to the user. I still suggest allowing the primitive operation of deleting a segment. To prevent mis-operation, adding a flag is the preferred solution.

Fair comment on the EV check. I was thinking idealstate check for OFFLINE segments (which is set by us).
Bottom line: We have now defined a valid state that says that if CONSUMING segments are not present, then the idealstate should include the PAUSED bit set.  This allows us to reason about the events that may have transpired easily. Another valid state is that consuming segments are present, (maybe in OFFLINE or CONSUMING state) in which case the PAUSED bit is not set in the idealstate.
By allowing the deletion of CONSUMING segments, we are now violating the valid states that IDEALSTATE can be in. IMO this is not a good idea.
If the consuming segments are in ERROR state, and the operator issues the pause command, it should effectively delete the segment, no? We have error to offline and error to dropped state transitions iirc.

@Jackie-Jiang  this blog post explains how pause/resume can solve the exact problem that you are referencing:
https://startree.ai/blog/apache-pinot-0-11-pausing-real-time-ingestion


[CELEBORN-770][FLINK] Convert BacklogAnnouncement, BufferStreamEnd, ReadAddCredit to PB

What changes were proposed in this pull request?
BacklogAnnouncement, BufferStreamEnd, and ReadAddCredit should merge to transport messages to enhance celeborn's compatibility.
Why are the changes needed?

Improves celeborn's transport flexibility to change RPC.
Makes Compatible with 0.2 client.

Does this PR introduce any user-facing change?
No.
How was this patch tested?

TransportFrameDecoderWithBufferSupplierSuiteJ

2023-09-13T11:41:04.1056748Z 23/09/13 11:41:04,085 ERROR [data-client-50-1] ReadClientHandler: Unexpected msg type RPC_REQUEST content RpcRequest{requestId=268, body=NettyManagedBuffer{buf=UnpooledSlicedByteBuf(ridx: 0, widx: 17, cap: 17/17, unwrapped: UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf(ridx: 89, widx: 89, cap: 1024))}}

ReadClientHandler needs modifications to receive rpc requests.  Sizable CI failures mean that something is wrong.

@FMX, sorry for forgetting modification of ReadClientHandler. I will modify this handler to handle RpcRequest.

Thanks merge to main/0.3


LSPReference background

The LspReferenceRead/Write backround for the dark theme is
hi LspReferenceRead
LspReferenceRead xxx guibg=#e1e4e8

I would say it is very hard to read the character with #e1e4e8 as background. Is this on purpose? or #e1e4e8 is supposed to  be light colorscheme?

Check  b593976 on #21


Return StatusOr for Table::Apply()

Fixes #1969

This change is

@coryan
I am not sure how to change 2 functions in table_apply_test.cc :
TEST_F(TableApplyTest, Failure)
and
TEST_F(TableApplyTest, RetryIdempotent)
That is why I commented out for now.

@coryan
Those two functions(see below) in mutations_integration_test.cc do not use the emulator.
I output both status.ok() and status and after I run ./mutations_integration_test.cc <project_id> <instance_id> I get:
[ RUN      ] MutationIntegrationTest.DeleteFromColumnForReversedTimestampRangeTest
status.ok(): 0
status: Error in field 'Mutation list' : Error in element #0 : Inverted or empty timestamp range [4000, 2000) [INVALID_ARGUMENT]
[       OK ] MutationIntegrationTest.DeleteFromColumnForReversedTimestampRangeTest (2406 ms)
[ RUN      ] MutationIntegrationTest.DeleteFromColumnForEmptyTimestampRangeTest
status.ok(): 0
status: Error in field 'Mutation list' : Error in element #0 : Inverted or empty timestamp range [2000, 2000) [INVALID_ARGUMENT]
[       OK ] MutationIntegrationTest.DeleteFromColumnForEmptyTimestampRangeTest (2300 ms)
I used EXPECT_FALSE(status.ok()) for both instead of ASSERT_STATUS_OK(status).


docs: add recommended RAM size

1GB of Ram is sufficient for installation. I personally have been running TeslaMate on a Raspberry Pi 3B+ with 1 GB Ram for 5 years without any problems. And yes, this does require some background knowledge, such as how to set up ZRAM.
Nevertheless, in this day and age it is advisable to have at least 2 GB Ram.
In version 1.30.1, we have increased the performance of a dashboard by a factor of 100. The next version will include further performance improvements and the dashboards run smoothly on a Raspberry Pi3 B with 1 GB Ram (there is only one value that takes a long time to load in a dashboard, but we will fix that too). In addition, we have improved the background load that occurs, e.g. to add missing elevation data etc. by a factor of 900.

I think how much ram you need is probably going to depend on if you running postgresql on the same host or not.
I imagine the most common setup will be to run it on the same host though.

While we are working to improve performance by ensuring proper index usage and query optimization databases definitely will grow over time. I therefore recommend using a vm / pi with 2GB RAM.
For me it doesn't mean we stop improving performance or declining issues if recommendation of 2GB is not matched. We still should aim for calculations & reports as efficient as possible.

Wow, GitHub Runners are really slow today.


Drawcard/add photomill (version X)

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} reports no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if adding a new cask:

[x] Named the cask according to the token reference.
[x] brew cask install {{cask_file}} worked successfully.
[x] brew cask uninstall {{cask_file}} worked successfully.
[x] Checked there are no open pull requests for the same cask.
[x] Checked the cask was not already refused in closed issues.
[x] Checked the cask is submitted to the correct repo.

Sorry I've committed the wrong files... I'll try again!


Edit author window - chage the name

The window has more functions than adding a new author

Update its documentation too

"Manage Authors"


Remove Underscore to Space Replacement in MQTT Code

This is a fix to the underscore to space replacement in the MQTT messages.
In Javascript, string.replace only works on the first instance of the pattern found unless regular expressions are used.

Looks like #605 is basically doing what this is doing at this point, so closing now.

I'm working on a new pull request right now to add resetting the motion sensor from MQTT right now, should be opening it soon.

@donavanbecker As mentioned earlier, I've opened pull request #606

Merged! Thanks


Camel scratch file

IDEA has a stratch pad where you can chose a language, such as java, groovy, xpath, xml, json etc and then write some scratch code which you can run, debug etc.
Wonder if there is something we can do for Camel. Such as setting up a Camel endpoint and consume or produce a message to it easily?
Or try the simple expression language on a dummy exchange etc
The action is: new scratch file

Dont think this feature is in much use


JavalinVue crashes if query parameter contains a quote symbol

Actual behavior (the bug)
JavalinVue crashes when a query parameter contains a literal ".
This is escaped by the framework but will be unescaped in the ___decode function before JSON.parse is called resulting in a invalid JSON.
Expected behavior
I expect that the JSON is not broken...
To Reproduce
Add any query parameter with a ".

😞

😞

Okay, so I think the problem was ther order of operations. If Jackson had seen mapOf("key" to """ value " """), it would have escaped the quote (\"). Since the string was html-escaped before it reached Jackson, Jackson saw mapOf("key" to """ " """), which it had no reason to escape.
This caused a problem when decoding the string on the client.
I moved the escaping to after serialization, and I stored the result in a template-string. On the client I skipped JSON.stringify, now it just decodes and parses the string.

Okay, so I think the problem was ther order of operations. If Jackson had seen mapOf("key" to """ value " """), it would have escaped the quote (\"). Since the string was html-escaped before it reached Jackson, Jackson saw mapOf("key" to """ " """), which it had no reason to escape.
This caused a problem when decoding the string on the client.
I moved the escaping to after serialization, and I stored the result in a template-string. On the client I skipped JSON.stringify, now it just decodes and parses the string.


Only authenticated user can view the list of registered chefs

https://github.com/fredsonchaves07/foodfy/pull/118


Clicking on image opens details window (maybe hover text for this)

Details button would no longer be needed

Done.


kubepug reports an invalid Deprecation

Running kubepug against swagger version 1.14.9 against a 1.14.5 cluster  I get list of deprecations against my deployments complaining that my deployments are found in extensions/v1beta1  which is simply not true.  ALL of my deployment yamls specify apps/v1 as the apiVersion.  Are you running kubectl under the covers because kubectl makes the same mistake when I do:
kubectl get deployments -o yam --v==8
In this case kubectl uses the extensions/v1beta1 API
My own java REST api uses the apps/v1 api when getting a list of deployments and all my deployments com back with that API.  Any idea what's going on here?

Yes, I do not run kubectl under the hood, but I use client-go which uses the returned preferred apiVersion from the apiServer.
Kubernetes 1.14 still uses extensions/v1beta1 as preferred API and that's why apiServer will always return deployments this way in this version, even if you create them as apps/v1.
The same happens today with Ingress in version v1.19 (PTAL https://kubernetes.slack.com/archives/C09QYUH5W/p1599668910140500)
I'll dig deeper into this issue again maybe on weekend to see if anything else can be done

Ricardo,
I believe you are conflating 'preferred version' with preferred api.  The
former is actually returned in the json spec for a given api; e.g. both the
apps and extensions api's support multiple versions, but only a single
version is preferred for each api; v1 for apps and v1beta1 for extensions.
The only place where I have ever found a 'preferred' API is in the API
Reference pages
https://v1-15.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/
where the 'preferred' version of Deployments is apps/v1 and the  Older
Versions (apps/v1beta1, apps/v1beta2, and extensions/v1beta1) are listed
further down the page.  I have not been able to find a 'machine readable'
json spec for a preferred api/version.  HOWEVER. the swagger.json files do
mark indicate group version DEPRECATED in the description field
(Technically I don't consider this machine readable since you essentially
have to parse the string to get the DEPRECATED status as well as the
api/version that it was deprecated by).   Speaking of the latter, which is
what I believe kubepug uses to in its Depracated APIs section, you need to
recursively follow the deprecated versions until you find a non-deprecated
version.  For instance, client.go reported my Deployment versions as
extensions/v1beta1 as deprecated and superseded by apps/v1beta2/Deployment
and stopped there.  However if you look up  apps/v1beta2/Deployment in the
same swagger.json file (v1.14.9 in my case), you'll see that that
api/version is ALSO DEPRECATED in favor of apps/v1.  Which in fact is what
my Deployments were deployed as.
On Fri, Oct 2, 2020 at 9:24 PM Ricardo Katz<EMAIL_ADDRESS>wrote:

Yes, I do not run kubectl under the hood, but I use client-go which uses
the returned preferred apiVersion from the apiServer.
Kubernetes 1.14 still uses extensions/v1beta1 as preferred API and that's
why apiServer will always return deployments this way in this version, even
if you create them as apps/v1.
The same happens today with Ingress in version v1.19 (PTAL
https://kubernetes.slack.com/archives/C09QYUH5W/p1599668910140500)
I'll dig deeper into this issue again maybe on weekend to see if anything
else can be done
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rikatz/kubepug/issues/120#issuecomment-703022520, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAS6K7E4242B3WBE3GLYZBLSIZ4MFANCNFSM4SB62ZFA
.

hum I promise will take a look this week(end) :)
Thank you for reporting!

Hello, sorry for the long delay. I've been caught in some other current job issues :/

I have a very similar issue (if not the same)to this one, https://github.com/rikatz/kubepug/issues/72 / https://github.com/rikatz/kubepug/issues/79 .

It turned out, I can
kubectl get ingresses.networking.k8s.io

and
kubectl get ingresses.extensions (deprecated)

and both return the same object (via diffrent APIs, e.g. apiVersion: networking.k8s.io/v1beta1 and apiVersion: extensions/v1beta1).
The problem is, kubernetes does this for newer and older APIs. This means it does not matter if I initially deployed this ingress object via networking or extensions API.
But thats basically what I need to know. I mean I do know, that my kubernetes cluster supports the deprecated extentsions api for ingress. What I need to know is which API was used to create this object.
As far as I can tell, there is no way to know, which API was used to create an k8s object besides the last applied annotation (which isn't suitable for this use case, e.g. https://github.com/rikatz/kubepug/issues/79#issuecomment-643803154 ).
The only way to check, if I use deprecated APIs is by parsing the yaml files in the first place.
Please let me know if I'm wrong here, I would love to have a tool to check against a live cluster for deprecated API usage.

I have a very similar issue (if not the same)to this one, https://github.com/rikatz/kubepug/issues/72 / https://github.com/rikatz/kubepug/issues/79 .

It turned out, I can
kubectl get ingresses.networking.k8s.io

and
kubectl get ingresses.extensions (deprecated)

and both return the same object (via diffrent APIs, e.g. apiVersion: networking.k8s.io/v1beta1 and apiVersion: extensions/v1beta1).
The problem is, kubernetes does this for newer and older APIs. This means it does not matter if I initially deployed this ingress object via networking or extensions API.
But thats basically what I need to know. I mean I do know, that my kubernetes cluster supports the deprecated extentsions api for ingress. What I need to know is which API was used to create this object.
As far as I can tell, there is no way to know, which API was used to create an k8s object besides the last applied annotation (which isn't suitable for this use case, e.g. https://github.com/rikatz/kubepug/issues/79#issuecomment-643803154 ).
The only way to check, if I use deprecated APIs is by parsing the yaml files in the first place.
Please let me know if I'm wrong here, I would love to have a tool to check against a live cluster for deprecated API usage.

I ran "kubepug --k8s-version=v1.16.15" against many 1.15.12 clusters and all extensions/v1beta1 resources show up as deprecated and not deleted.
I don't know if this is caused by 1.15 supporting both apps/v1 and extensions/v1beta1 apis but it cause bad surprises since all seemed well and k8s was updated without any problems and everything kept working afterward, until we tried to update helm charts.
Since helm charts releases are kept in secrets to track what it installed, it won't allow updates since apiVersion changed in templates to match k8s 1.16 apiVersions. We need to helm delete then reinstall those charts, to make sure we don't lost any data we have to make sure all PVs are set to retain.
I hope it helps others in the same situation.

hey folks.
I'm really sorry about taking that long to answer this issue here, I'm crowded with some things of my day job.
@fewkso thank you for the heads up. What happens usually is that the apiServer returns a prefered version, which might be different from what pug considers stable or deprecated.
I'll take a look to see how to evolve this
Thank you all for reporting and sorry again for the long delays

This issue is really annoying (and tricky to solve, i've tried as well)
I'm instead using the following command/script:
kubectl get ingress -A -o go-template='{{range .items}}{{if index .metadata.annotations "kubectl.kubernetes.io/last-applied-configuration"}}{{index .metadata.annotations "kubectl.kubernetes.io/last-applied-configuration"}}{{"\n"}}{{end}}{{end}}' | \
                jq -r '[.kind, .metadata.namespace, .metadata.name, .apiVersion] | @tsv' | column -c 4 -t

This lists the ingresses (swap type to whatever you want) and extracts the apiVersion from the last-applied-configuration for each resource

has this issue been resolved ?

kubectl get ingress -A -o go-template='{{range .items}}{{if index .metadata.annotations "kubectl.kubernetes.io/last-applied-configuration"}}{{index .metadata.annotations "kubectl.kubernetes.io/last-applied-configuration"}}{{"\n"}}{{end}}{{end}}' |
jq -r '[.kind, .metadata.namespace, .metadata.name, .apiVersion] | @tsv' | column -c 4 -t

This works only for resources installed with kubectl, but not for them installed with Helm.

gonna look this next :)

@fredgate Thanks for the idea. Using the annotations actually is "bad", as far as I remember those are used via kubectl apply (but not via kubectl create, as an example).
@RudyBone seems reasonable, following the swagger JSON spec until you find the right version. I remember that there is something (need to read here again on the kubernetes api spec) that turns different what you get from the API server from what is actually persisted in etcd (@cpanato may remind as well, but I will take a look into some docs here).
I need to run some scenarios, where I do add something "deprecated" (like in version v1.14) and then try to migrate to version 1.16. IIRC while the API is not removed, something internally converts this to the right version in ETCD but I'm not quite sure right now :/
Anyway, let me look here into swagger.json and what can be done :)

swagger.json wont be helpful in this case.
@RudyBone I remember now, that the idea of PreferredResources is what the APIServer will serve preferentially, even if it is deprecated.
I'm still looking into the Discovery Library (https://pkg.go.dev/k8s.io/client-go/discovery) to see if there is some way of fixing this, but as far as I remember preferred versions comes from: https://github.com/kubernetes/kubernetes/blob/master/cmd/kube-apiserver/app/aggregator.go#L247
I will keep looking into it during the week :)

any update on this?

I have released a new version today. The PreferredServerVersion is the decision point on if something is deprecated or not. If you are using, for instance, v1.X and it says the preferred version for apps API is /v1beta1, and you try to check against v1.Y , it will raise an alert that this is deprecated.
The deprecation notice is just a "Warning" that if you migrate to this other release, the API version will be migrated internally.
The deleted error is more dangerous, as it means that the API you are currently using is not served anymore on the version you are targetting, so you will need to do a stepped update to some release that supports both, and then move to the final release.
I'm closing thius, but feel free to reopen or ping me on Slack


access: golang/crypto Write or Maintain access

I'd like to be able to edit the title of PRs in the x/crypto GitHub repo (like https://github.com/golang/crypto/pull/195), and I seem to not have that access. I don't remember what group grants that.
This is really due to #24887 and even more fundamentally due to #25359, but in the meantime I'd like not to go multiple rounds of review to explain to occasional contributors how to fix their commit messages for tiny fixes.
/cc @golang/release

Done.


SEAB-5576: Allow entries to be deleted

Description
This PR implements the UI elements that allow entries to be deleted in certain cases.
The primary changes are:

The addition of a "Delete" button on the non-public page for an entry, which is displayed only when the webservice reports that the entry is deletable, which currently, for new entries, is when the entry has never been published and is not checked or a checker workflow.
A new dialog that pops up when someone presses the "Delete" button, which details what will happen when the entry is deleted and asks the user to confirm that they want to delete the entry.  It includes some instructions about modifying/deleting the source .dockstore.yml so that the entry is no longer described, to prevent it from reappearing upon a future push.

When I began this PR, it had been so long since I had interacted with an old-style tool that I forgot that they already could be deleted via the UI.  So, I left the existing old-style tool interface as-is.  The UI changes in this PR appear for entries that are a derivative of Workflow: BioWorkflows, AppTools, Services, and Notebooks.  There's some differences between the two deletion mechanisms: the old-style tool deletion interface allows tools to be deleted if they're not published (but have previously been published), the "Delete" button is always displayed but greyed-out appropriately, and the dialog is different.  If desired, we can make the two consistent, the new deletion scheme would work for old-style tools.
Screenshots

Review Instructions
Create an unpublished entry via the .dockstore.yml registration path.  Visit the non-public entry page, and "Delete" it via the button.  Confirm the entry is gone.
Create an unpublished entry via the .dockstore.yml registration path.  Publish the entry.  Visit the non-public entry page, and confirm that the "Delete" button is not displayed.
Create an unpublished entry via the .dockstore.yml registration path.  Publish the entry, then, unpublish it.  Visit the non-public entry page, and confirm that the "Delete" button is not displayed.
Issue
https://ucsc-cgl.atlassian.net/browse/SEAB-5576
Security
If there are any concerns that require extra attention from the security team, highlight them here.
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that your code compiles by running npm run build
[x] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[x] If this is the first time you're submitting a PR or even if you just need a refresher, consider reviewing our style guide
[x] Do not bypass Angular sanitization (bypassSecurityTrustHtml, etc.), or justify why you need to do so
[x] If displaying markdown, use the markdown-wrapper component, which does extra sanitization
[x] Do not use cookies, although this may change in the future
[x] Run npm audit and ensure you are not introducing new vulnerabilities
[x] Do due diligence on new 3rd party libraries, checking for CVEs
[x] Don't allow user-uploaded images to be served from the Dockstore domain
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.
[x] Check whether this PR disables tests. If it legitimately needs to disable a test, create a new ticket to re-enable it in a specific milestone.

Looks good to me. Non-blocking quibbles/thoughts I had.

For entries using the old Refresh code three buttons will appear which may lead to crowding. I don't have an immediate suggestion of where else it should go, perhaps on the bottom of the Info tab?
Considering UX, a trash icon or red for the delete button itself might be good
Nice-to-have would be redirecting back to my-workflows or my-notebooks depending on the type being deleted rather than the dashboard
Presuming the reason we need them to disconnect the GitHub app is we didn't request that permission? Another nice-to-have would be to disconnect this for them somehow

Some of my rationale/thoughts on these:

For entries using the old Refresh code three buttons will appear which may lead to crowding. I don't have an immediate suggestion of where else it should go, perhaps on the bottom of the Info tab?
Considering UX, a trash icon or red for the delete button itself might be good

We could reduce the amount of space that the "Delete" button consumes by changing the text label to a trash icon.  The blue button color was intentional, to avoid distracting/drawing too much attention, but I'm not opposed to making it red either.

Nice-to-have would be redirecting back to my-workflows or my-notebooks depending on the type being deleted rather than the dashboard

I went with /dashboard because it's more likely [in the future] to do the right thing if the entry deleted was the last of its type (ex: the last notebook was deleted and there's none left), but /my-<entry-type>s is better otherwise.

Presuming the reason we need them to disconnect the GitHub app is we didn't request that permission? Another nice-to-have would be to disconnect this for them somehow

Yeah, I think the user has to deinstall the GitHub app themselves.  In some [most?] cases, they won't, though, because they'll simply be fixing a naming problem or removing an experiment or something like that, and continuing to register/update entries from the repo...

Reading from the top (some of these may be covered already)

The addition of a "Delete" button on the non-public page for an entry, which is displayed only when the webservice reports that the entry is deletable, which currently, for new entries, is when the entry has never been published and is not checked or a checker workflow.

Wonder if it would make sense to show it greyed out for non-deletable entries but with explanation. Or maybe just a "i" info type building

When I began this PR, it had been so long since I had interacted with an old-style tool that I forgot that they already could be deleted via the UI. So, I left the existing old-style tool interface as-is.

Makes sense

Ok, I made the following changes:

The dialog text regarding adjusting .dockstore.yml is only displayed if the entry was created via the .dockstore.yml registration scheme.
The path of the entry is now included in the dialog.
Buttons -> "Cancel", "Delete this "
Dialog now persists on failure.
Dialog is now bootstrap4largeModalSize wide
Dialog now uses the AlertService, which will display some persistent failure information in the dialog and on the entry page upon deletion failure.

Revised dialog:


[ZEPPELIN-754]Cannot use S3 seoul region (ap-northeast-2)

What is this PR for?
Update AWS SDK version.
What type of PR is it?
Bug Fix
What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-754

Thanks for the patch. Could you also update zeppelin-distribution/src/bin_license/LICENSE#L3 ?

Oh I'm so sorry. I updated the file.

@mwkang No worries. Thanks for taking care of the license.
I have checked aws-java-sdk-s3:1.10.62 brings no new/changes of transitive dependency.
Single test failure https://travis-ci.org/apache/incubator-zeppelin/jobs/118149866 is irrelevant to this pullrequest.
Looks good to me.

Merge if there're no more discussions

Somehow CI is failing =\

@bzz Yes, that seems flaky test.


Web3 Provider warning issue

Hi network.
I used wagmi provider to integrate web3 provider.
But, there was an warning issue so, I can't build it properly.
Please let me know any help and experiences.
Thanks in advance!

Check Dependencies: Ensure that all your dependencies are up to date. Run:
Update any outdated packages, especially wagmi, ethers, or any Web3-related libraries.
Review Warning Messages: Carefully read the warning messages in your console. They often provide clues about what is causing the issue.
Correct Provider Setup: Ensure that you have set up the Wagmi provider correctly. Here’s a basic example:
`import { WagmiConfig, createClient } from 'wagmi';
import { InjectedConnector } from 'wagmi/connectors/injected';

const client = createClient({
autoConnect: true,
connectors: () => [
new InjectedConnector(),
],
});
function App() {
return (

{/* Your app components */}

);
}`

Check for Deprecated Features: If you're using any deprecated features or APIs, consider replacing them with the recommended alternatives.

If you can provide the specific warning message you're encountering, I can offer more targeted assistance!

Thanks


WIP: Generate copyright year properly

Fixes some nits noticed by @mattcaswell during the 1.1.1-alpha release process.
There are two open issues:

Should all the perl scripts be moved out of the source subdirs and into util? I think so, but maybe that's controversial.
Should the output always be the current year, or should it depend on the input file timestamp?

There's one small issue with this approach...  any time anyone does make update, the year will be update in all scripts, even though they haven't been changed the current year...

No.  They are specialised for generating module local files, I think it's better if they stay with the module.  Those in util are more general.
I'm thinking that the files should only get an actual year update if the contents (i.e. anything after the copyright+license boilerplate) are changed...

Yes, see item 2 about the timestamps.  I guess, more generally, it should depend on any of the input files or the script itself.    Do you think that's worth doing?

I don't like running scripts out of the source tree, but let's see what others think.

I don't like running scripts out of the source tree

Huh?

I don't like that things in source directories are not really source, I prefer all build scripts to be off somewhere else.  I know that could just be my (quirky) personal opinion.  And we can leave it for a separate PR.
Additional commit pushed that gets the year properly output right.

Taking off the WIP tag.  Pushed new commit with 'make update' output.  Ready for review.

Thanks!  Next PR will be to generate output to stdout, so we can do the mv-if-different thing.
(And yes, we probably means "you via buildsystem stuff" :)


cleanup WMStats view and replace the all the calls

Here is the removed wmstats couch view and corresponding reqmgr view.

requestByCampaignAndDate -> no view
requestByDate -> bydate
requestByInputDataset -> byinputdataset
requestByOutputDataset ->byoutputdataset
requestByPrepID -> byprepid
requestByStatus -> bystatus
requestByStatusAndType -> bystatusandtype
tier0Requests -> no view

i.e. REAS url  changes
https://cmsweb.cern.ch/couchdb/wmstats/_design/WMStats/_view/requestByStatusAndType
->
https://cmsweb.cern.ch/couchdb/reqmgr_workload_cache/_design/ReqMgr/_view/bystatusandtype
Also Request property name was changed. (returned value)
REQUEST_PROPERTY_MAP = {
           "_id": "_id",
           "InputDataset": "inputdataset",
           "PrepID": "prep_id",
           "Group": "group",
           "RequestDate": "request_date",
           "Campaign": "campaign",
           "RequestName": "workflow",
           "RequestorDN": "user_dn",
           "RequestPriority": "priority",
           "Requestor": "requestor",
           "RequestType": "request_type",
           "DbsUrl": "dbs_url",
           "SoftWareVersions": "cmssw",
           "Outputdatasets": "outputdatasets",
           "RequestTransition": "request_status", # Status: status,  UpdateTime: update_time
           "SiteWhitelist": "site_white_list",
           "Teams": "teams",
           "TotalEstimatedJobs": "total_jobs",
           "TotalInputEvents": "input_events",
           "TotalInputLumis": "input_lumis",
           "TotalInputFiles": "input_num_files",
           "Run": "run",
           # Status and UpdateTime is under "RequestTransition"
           "Status": "status",
           "UpdateTime": "update_time"
        }


Fix handling of onMatch and onMismatch attributes in the properties configuration format

Description

Since apache/logging-log4j2:2.23.0, onMismatch of MarkerFilter is no longer available. This was actually found from https://github.com/apache/hive/pull/5375 . It can be reproduced in both 2.23.0 and 2.23.1. This will be reflected in a log similar to ERROR MarkerFilter contains an invalid element or attribute "onMismatch".

Configuration
Version: [Log4j version] 2.23.0
Operating system: [OS and version] Ubuntu WSL 22.04.4
JDK: [JDK distribution and version] 8.0.422-tem on SDKMAN!
Logs
-------------------------------------------------------------------------------
Test set: org.apache.hive.hplsql.TestHplsqlLocal
-------------------------------------------------------------------------------
Tests run: 86, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 3.359 s <<< FAILURE! - in org.apache.hive.hplsql.TestHplsqlLocal
org.apache.hive.hplsql.TestHplsqlLocal.testException  Time elapsed: 0.676 s  <<< FAILURE!
org.junit.ComparisonFailure:
expected:<[]Ln:2 PRINT
Correct
L...> but was:<[2024-08-02T03:55:09.225Z main ERROR MarkerFilter contains an invalid element or attribute "onMismatch"
]Ln:2 PRINT
Correct
L...>
	at org.junit.Assert.assertEquals(Assert.java:117)
	at org.junit.Assert.assertEquals(Assert.java:146)
	at org.apache.hive.hplsql.TestHplsqlLocal.run(TestHplsqlLocal.java:482)
	at org.apache.hive.hplsql.TestHplsqlLocal.testException(TestHplsqlLocal.java:229)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:43)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:82)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:73)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:248)
	at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$5(DefaultLauncher.java:211)
	at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:226)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:199)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:132)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:154)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:123)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377)
	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138)
	at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)

Reproduction

I must admit that I am a log4j2 newbie. It's hard to say how I can immediately come up with a smaller reproducible unit test.
I just did a small test at https://github.com/linghengqian/hive/pull/1 . The relevant operating methods are also located in the corresponding PR.

git clone git@github.com:linghengqian/hive.git -b test-v2230-log4j
cd ./hive/
sdk install java 8.0.422-tem
sdk use java 8.0.422-tem
sdk install maven
mvn clean install -DskipTests
mvn test -Dtest=TestHplsqlLocal

The activated configuration file is located at /hive/data/conf/hive-log4j2.properties.

status = INFO
name = HiveLog4j2Test
packages = org.apache.hadoop.hive.ql.log

property.hive.log.level = DEBUG
property.hive.root.logger = DRFA
property.hive.log.dir = ${sys:test.tmp.dir}/log
property.hive.log.file = hive.log
property.hive.test.console.log.level = INFO

appenders = console, DRFA

appender.console.type = Console
appender.console.name = console
appender.console.target = SYSTEM_ERR
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{ISO8601} %5p [%t] %c{2}: %m%n

appender.DRFA.type = RollingRandomAccessFile
appender.DRFA.name = DRFA
appender.DRFA.fileName = ${sys:hive.log.dir}/${sys:hive.log.file}
appender.DRFA.filePattern = ${sys:hive.log.dir}/${sys:hive.log.file}.%d{yyyy-MM-dd}
appender.DRFA.layout.type = PatternLayout
appender.DRFA.layout.pattern = %d{ISO8601} %5p [%t] %c{2}: %m%n
appender.DRFA.policies.type = Policies
appender.DRFA.policies.time.type = TimeBasedTriggeringPolicy
appender.DRFA.policies.time.interval = 1
appender.DRFA.policies.time.modulate = true
appender.DRFA.strategy.type = DefaultRolloverStrategy
appender.DRFA.strategy.max = 30

loggers = HadoopIPC, HadoopSecurity, Hdfs, HdfsServer, HadoopMetrics2, Mortbay, Yarn, YarnServer, Tez, HadoopConf, Zookeeper, ServerCnxn, NIOServerCnxn, ClientCnxn, ClientCnxnSocket, ClientCnxnSocketNIO, DataNucleus, Datastore, JPOX, Operator, Serde2Lazy, ObjectStore, CalcitePlanner, AmazonAws, ApacheHttp, Thrift, Jetty, BlockStateChange, swo, CBORuleLogger

logger.HadoopIPC.name = org.apache.hadoop.ipc
logger.HadoopIPC.level = WARN

logger.HadoopSecurity.name = org.apache.hadoop.security
logger.HadoopSecurity.level = INFO

logger.Hdfs.name = org.apache.hadoop.hdfs
logger.Hdfs.level = INFO

logger.HdfsServer.name = org.apache.hadoop.hdfs.server
logger.HdfsServer.level = WARN

logger.HadoopMetrics2.name = org.apache.hadoop.metrics2
logger.HadoopMetrics2.level = INFO

logger.Mortbay.name = org.mortbay
logger.Mortbay.level = INFO

logger.Yarn.name = org.apache.hadoop.yarn
logger.Yarn.level = INFO

logger.YarnServer.name = org.apache.hadoop.yarn.server
logger.YarnServer.level = WARN

logger.Tez.name = org.apache.tez
logger.Tez.level = INFO

logger.HadoopConf.name = org.apache.hadoop.conf.Configuration
logger.HadoopConf.level = ERROR

logger.Zookeeper.name = org.apache.zookeeper
logger.Zookeeper.level = INFO

logger.ServerCnxn.name = org.apache.zookeeper.server.ServerCnxn
logger.ServerCnxn.level = WARN

logger.NIOServerCnxn.name = org.apache.zookeeper.server.NIOServerCnxn
logger.NIOServerCnxn.level = WARN

logger.ClientCnxn.name = org.apache.zookeeper.ClientCnxn
logger.ClientCnxn.level = WARN

logger.ClientCnxnSocket.name = org.apache.zookeeper.ClientCnxnSocket
logger.ClientCnxnSocket.level = WARN

logger.ClientCnxnSocketNIO.name = org.apache.zookeeper.ClientCnxnSocketNIO
logger.ClientCnxnSocketNIO.level = WARN

logger.DataNucleus.name = DataNucleus
logger.DataNucleus.level = ERROR

logger.Datastore.name = Datastore
logger.Datastore.level = ERROR

logger.JPOX.name = JPOX
logger.JPOX.level = ERROR

logger.Operator.name = org.apache.hadoop.hive.ql.exec.Operator
logger.Operator.level = INFO

logger.Serde2Lazy.name = org.apache.hadoop.hive.serde2.lazy
logger.Serde2Lazy.level = INFO

logger.ObjectStore.name = org.apache.hadoop.hive.metastore.ObjectStore
logger.ObjectStore.level = INFO

logger.CalcitePlanner.name = org.apache.calcite.plan.RelOptPlanner
logger.CalcitePlanner.level = INFO

logger.CBORuleLogger.name = org.apache.hadoop.hive.ql.optimizer.calcite.RuleEventLogger
logger.CBORuleLogger.level = OFF
logger.CBORuleLogger.filter.marker.type = MarkerFilter
logger.CBORuleLogger.filter.marker.marker = FULL_PLAN

logger.CBORuleLogger.filter.marker.onMatch = DENY
logger.CBORuleLogger.filter.marker.onMisMatch = NEUTRAL

logger.AmazonAws.name=com.amazonaws
logger.AmazonAws.level = INFO

logger.ApacheHttp.name=org.apache.http
logger.ApacheHttp.level = INFO

logger.Thrift.name = org.apache.thrift
logger.Thrift.level = WARN

logger.Jetty.name = org.eclipse.jetty
logger.Jetty.level = WARN

logger.BlockStateChange.name = BlockStateChange
logger.BlockStateChange.level = WARN

rootLogger.level = ${sys:hive.log.level}
rootLogger.appenderRefs = root, console
rootLogger.appenderRef.root.ref = ${sys:hive.root.logger}
rootLogger.appenderRef.console.ref = console
rootLogger.appenderRef.console.level = ${sys:hive.test.console.log.level}

logger.swo.name = org.apache.hadoop.hive.ql.optimizer.SharedWorkOptimizer
logger.swo.level = DEBUG

Hi @linghengqian,
Could you point us to how you generate the GraalVM image?
As almost all filters (except DenyAllFilter and Filters), MarkerFilter has a onMismatch property. I suspect that the GraalVM reflection metadata you use might lack the property, hence the problem in the native image.

Hi @linghengqian,
Could you point us to how you generate the GraalVM image?
As almost all filters (except DenyAllFilter and Filters), MarkerFilter has a onMismatch property. I suspect that the GraalVM reflection metadata you use might lack the property, hence the problem in the native image.

Hi, the steps I mentioned in the issue description never involve using log4j2 under GraalVM Native Image. On the shardingspehre side, all nativeTest under GraalVM Native Image have excluded log4j2 in maven pom, and I am actually waiting for the release of log4j2 2.24.0.

On the hive side, the Error Log of ERROR MarkerFilter contains an invalid element or attribute "onMismatch" is obtained by executing unit tests under Hotspot JDK 8. Hive can still only be compiled with openjdk 8, and it is too early to discuss graalvm native image in the hive community.

@linghengqian,
The problem is due to a typo in your configuration file:
logger.CBORuleLogger.filter.marker.type = MarkerFilter
logger.CBORuleLogger.filter.marker.marker = FULL_PLAN
logger.CBORuleLogger.filter.marker.onMatch = DENY
logger.CBORuleLogger.filter.marker.onMisMatch = NEUTRAL

You have onMisMatch instead of onMismatch. The misleading error message is due to the following code in PropertiesConfigurationBuilder:
https://github.com/apache/logging-log4j2/blob/eaae9e381181066856565706551f4746e8ab5102/log4j-core/src/main/java/org/apache/logging/log4j/core/config/properties/PropertiesConfigurationBuilder.java#L234-L236
https://github.com/apache/logging-log4j2/blob/eaae9e381181066856565706551f4746e8ab5102/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java#L457-L460
https://github.com/apache/logging-log4j2/blob/eaae9e381181066856565706551f4746e8ab5102/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultFilterComponentBuilder.java#L29-L37
Since you don't have an onMismatch attribute, the code creates a synthetic onMismatch attribute with an invalid null value.
Remark: Fixing this also fixes LOG4J2-2931, so I am redirecting that issue here.
PS: I noticed that Apache Hive uses a pre-2.6 properties configuration format (the loggers is not required since version 2.6).
Would you consider switching to a more easily readable configuration format? Version 3.x will introduce breaking changes to the properties format, but not the hierarchical ones.

@ppkarwasz

Late reply, because I need to wait for verification on apache/hive's CI side. apache/hive's CI resources are too tight, and apache/hive's jenkins node limits each contributor to 5 hours between 2 consecutive CIs. To be honest, https://github.com/apache/hive/pull/5375 is the first PR I opened on apache/hive's side, and I know almost nothing about apache/hive's logging design.

I updated https://github.com/apache/hive/pull/5375 not long ago, I removed the packages, appenders, loggers nodes of /hive/data/conf/hive-log4j2.properties, and changed logger.CBORuleLogger.filter.marker.onMisMatch to logger.CBORuleLogger.filter.marker.onMismatch. apache/hive's CI is now back on apache/logging-log4j2:2.23.0. I'm assuming this is a reasonable way forward to not break compatibility with future versions of log4j2. I'm assuming the changes are in line with what's documented in https://github.com/apache/pulsar/pull/22327 , https://logging.apache.org/log4j/2.x/manual/configuration.html , and https://logging.apache.org/log4j/2.x/manual/plugins.html . I note from https://issues.apache.org/jira/browse/LOG4J2-3644 that the packages property seems to be straightforward to remove, though https://github.com/apache/jmeter/issues/5937 on the apache/jmeter side is still unclear as to the way forward.

On the apache/hive side, I noticed a new issue when bump from apache/logging-log4j2:2.23.0 to apache/logging-log4j2:2.23.1, the status = INFO defined in hive-log4j2.properties is no longer valid, and Log4j2 internal logs at TRACE and DEBUG levels will be printed starting from apache/logging-log4j2:2.23.1. Since the current issue is bound to https://issues.apache.org/jira/browse/LOG4J2-2931 , I opened #2794 to avoid ambiguity.

I will say that I personally don't know how to fix #2791 with the good first issue tag.

@ppkarwasz
I note from https://issues.apache.org/jira/browse/LOG4J2-3644 that the packages property seems to be straightforward to remove, though Migrate log4j2 to logback jmeter#5937 on the apache/jmeter side is still unclear as to the way forward.

There is no problem in Apache Hive: I checked that the appropriate annotation processor is configured in the hive-exec project and there is a Log4j2Plugins.dat file in the JAR. You can safely remove the packages configuration attribute.

* I will say that I personally don't know how to fix [Fix handling of `onMatch` and `onMismatch` attributes in the properties configuration format #2791](https://github.com/apache/logging-log4j2/issues/2791) with the `good first issue` tag.

I believe that the problem breaks down to a missing null-check: ComponentBuilder#addAttribute should add an attribute if the value is not null and remove it if the value is null.
null is never a valid value for an attribute.
BTW: All the problems you are having are due to the fact that TestHplsqlLocal and TestHplsqlOffline are fragile tests. They write something to System.out and they make assertions about that. The problem is: other components (like the status logger) might also write to System.out. I proposed a solution to this in apache/hive#5381

Hi @linghengqian,
Could you point us to how you generate the GraalVM image?
As almost all filters (except DenyAllFilter and Filters), MarkerFilter has a onMismatch property. I suspect that the GraalVM reflection metadata you use might lack the property, hence the problem in the native image.

As an external update, I have provided a partial GRM for log4j2 at https://github.com/apache/logging-log4j2/issues/1539#issuecomment-2267307774 .

Hi, I'd like to work on this issue. Could you please assign it to me?

@aadvik93,
I assigned the issue to you, thanks for the help.


Added alpha banner

Added an alpha banner to make sure people know we are in Alpha. To be replaced with Beta banner. Probably never to be replaced by a Delta Banner.

What about a Gamma Banner?

The Gamma quadrant was always a hive of scum and villainy cringe @danprime


Describe 'deterministic' flag for @ScalarFunction

Documentation added for the deterministic argument of @ScalarFunction annotation.

Thanks.
I changed the text based on your suggestions. Please check the last commit.

@mosabua valueS changed and commit history rewritten (squashed)

Please review and work towards merge @electrum

Merged, thanks!


The 'Already have an account?' text on /register doesn't meet accessibility (WCAG 2.0 AA) standards for contrast.

I'd recommend making the text darker until we reach a 4.5:1 contrast ratio.

Hello! Changing the text color to #6A788A reaches 4.5:1. Colorsafe is great to use too for creating color palettes that reach acceptable contrast. Hope this helps!
Have a great weekend!


Added onScrollBegin & EndDrag to the documentation

I didn't found anything about these possible actions in this documentation so I added them.
Some other people also had this problem:
https://stackoverflow.com/a/43859386

Optional: Would be cool if you can tag this with the hacktoberfest-accepted label. If not its also not a problem I just wanted to improve the documentation again 😸

Deploy preview for react-native ready!

The props you are looking for are documented on the website in here:

https://reactnative.dev/docs/next/scrollview#onscrollbegindrag

Unfortunately we do not list props inherited by the component, but lately, in next branch we have added the inherited props links to the TOCs so it should be easier to find those properties.

@Simek Thats a strange rule but I understand it otherwise you guys need to track everything twice. The links will help! I guess this PR can be closed then?

@devofthings Thank you for understanding! 🙂 I can agree that we should think about handling the inherited props in a better way (but not multiply the maintaince work). I will try to sort this out a bit after the V2 migration, maybe we can use MDX fragments for those props.


Writing to S3 fails if the user is authenticated with aws sso login

Apache Iceberg version
0.5.0 (latest release)
Please describe the bug 🐞
I have noticed that when I explicitly export my AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY that things work as expected but as soon as I unset those and use aws sso login to authenticate myself I get
File "pyarrow/error.pxi", line 115, in pyarrow.lib.check_status
OSError: When testing for existence of bucket 'my-iceberg-bucket': AWS Error ACCESS_DENIED during HeadBucket operation: No response body.

Not the scope of this repo I dont think, but for other wondering https://github.com/benkehoe/aws-export-credentials exists and I am able to get around this by eval $(aws-export-credentials --env-export) after pip installing it which seems like bad practice...any thoughts on how to elegantly allow sso to work when instantiating the s3fs filesystem?

This is confirmed an upstream bug in pyarrow 13.0.0


Illegal variable name when splicing a TH declaration

I'm trying to use debug to instrument a function. I have followed the instructions, so the top of my source file looks like this:
{-# LANGUAGE TemplateHaskell, ViewPatterns, PartialTypeSignatures #-}
{-# OPTIONS_GHC -Wno-partial-type-signatures #-}

module Day2 (
    -- ...
) where

import Util
import Debug

I'm instrumenting the function as follows:
debug [d|
    _seek_from :: (Integer, Integer) -> Integer -> [Integer] -> Maybe (Integer, Integer)
    _seek_from (a, b) t [] = Nothing
    _seek_from (a, b) t mem
      | a > bound && b > bound = Nothing
      | a < 0 || b < 0 = Nothing
      | a > bound && b <= bound = _seek_from (0, b + 1) t mem
      | otherwise =
            let r = test_inputs (a, b) mem in
            if r == t then Just (a, b) else _seek_from (a + 1, b) t mem
      where bound = let x = toInteger . ((-) 1) . length $ mem in if x > 99 then 99 else x
      |]

When I build (stack build) I get the following error:
Illegal variable name: ‘’Illegal variable name: ‘’
    When splicing a TH declaration

It specifically has a problem on the debug [d| line.

The use of _ as function names looks odd. Perhaps try removing that?
The debug library is not massively supported at the moment, so you may be on your own if it doesn't work easily I'm afraid.


edit in modal ?

Hi, there is a way to add "modal" value to "mode" options ?
The editor, especially for wysiwyg html, will be in a modal window, placed in the middle of the page.
Thanks

I meet the same situation about popup editor in a modal layer.


proposal: cmd/compile: do not implicitly set -checkptr to 2 when -asan is turned on

To implement -asan to detect invalid memory access to the stack object, it does not add readzones around  the stack object like the implementation of the heap object, but implicitly sets -checkptr to 2, which is implemented by CL 393315. In this way, all pointer operations on the stack objects will become operations on the escaped heap objects. As we've already supported ASan detection of error memory accesses to heap objects. With this trick, we can use -asan option to report errors on bad stack operations.
However, based on the current implementation, when -asan is turned on, stack objects oprated with unsafe.Pointer will escape to the heap, resulting in additional memory alloctions.  This will cause some issues. For example, turning on -asan will cause some tests to fail, see #64257. More seriously, some codes do not allow memory allocation, so -asan cannot be used, see #64310.
So I'm wondering if the implementation of setting -checkptr to 2 is doing more harm than good. I would like to suggest changing this implementation and instead of setting -checkptr to 2, just set -checkprt to 1 like -msan and -race do. But this way, -asan cannot check for invalid memory access to stack objects. If the user wants to use -asan to check, they can explicitly set -checkptr to 2.
Thank you.

[Sorry for the administrative noise. I thought the policy of enabling -d=checkptr for instrumentation was specified in cmd/go, but it looks like it's actually in cmd/compile.]
It seems fine to me to stop kicking objects to the heap aggressively for -asan if it's causing problems.


Access remote AWS Oracle server on Windows DBeaver client via Unix server

System information:

Operating system (distribution) and version
Windows Server 2012 R2 Standard
DBeaver version
7.0.1

Connection specification:

Database name and version
Oracle 12c

Describe your question:
We are able to access the Oracle 12c server (say with hostname, ora.domain.com, port 1234) from a unix box (say with hostname as rhel.domain.com) - the firewalls between these 2 servers are cleared appropriately. The Windows machine we use is not cleared to access the Oracle server and also has no internet connection (resides behind a corporate firewall). The Windows machine is able to access the unix box (rhel.domain.com) on port 22. So we tried to

Use manually placed Oracle drivers and remove the default Apache Maven drivers (which we understand need internet access). Picked the drivers from here:
https://www.oracle.com/database/technologies/jdbc-ucp-122-downloads.html
use SSH tunneling through the unix box

I am getting the below error:
IO Error: The Network Adapter could not establish the connection
Connection timed out: connect, socket connect lapse 21031 ms.

I tried increasing the timeout to 60s but it was still timing out at ~20s. I see no lag while connecting from Windows to the unix box or from the unix box to the Oracle servers (all the tns entries respond within 40ms to tnspings).
I am wondering if am doing something wrong with the SSH tunneling.
Please verify If you can suggest me to try something. Since I am querying reg a customer system, I have put masked/dummy names and masked image. If you need some more detailed inputs (with better screenshots) I will try to get them.

I was able to test the SSH tunnel connection to be successful (I put in the hostname and credentials to the unix box from where we typically access the Oracle server):

Are you using an ip address or an hostname? It's possible that your local machine cannot resolve the remote database IP. You should try using the IP that is seen by the tunneling machine.

@p91paul I gave the same entries which the tunnel host is able to resolve. I also tried giving the IP of the Oracle DB in DBeaver as per your suggestion - getting same error.

Hi, looking for some guidance here. To add, I have made entries in the Windows host file, to help resolve the hostnames as well.

Please try to

Create a new database connection with default driver settings (change nothing there)
Go to SSH tab and fill necessary fields
Press Test tunnel configuration (If the test fails, send us log files https://github.com/dbeaver/dbeaver/wiki/Log-files)
Fill other parameters in the Main tab of Connection settings and press Test connection

@kseniiaguzeeva Thanks for the suggestion. Closing all the sessions, and altering the sequence (drivers, SSH and Test Connection) was able to make things work - not really sure if it is this sequence or random system states that made things work.
I am closing the ticket.


fix(welcome.edge): update Form link with Github

Proposed changes
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.
Types of changes
What types of changes does your code introduce?
Put an x in the boxes that apply

[X] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[X] I have read the CONTRIBUTING doc
[X] Lint and unit tests pass locally with my changes
[X] I have added tests that prove my fix is effective or that my feature works.
[X] I have added necessary documentation (if appropriate)

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

Thanks!


server hangs

server does not respond to http requests.
Possibly because worker threads are busy
Increased num_workers from 2 to 4.

https://rushter.com/blog/gunicorn-and-low-and-slow-attacks/
action: add NGINX container in front of gunicorn

try this setup for reproduction:

server runs on pc in docker
gunicorn with 2 threads
run the uploader.sh with actual zip from Moodle.
repeat until hang


Missing inventory warnings for packages without links (even if the imported item resolves)

Issue
Example given below. Generally, it seems that many modules or packages will erroneously warn, presumably when they dont have dedicated pages.
In the below example, sqlalchemy.ext.declarative resolves and is clickable, as it brings you to the correctly annotated page.
Versus from sqlalchemy.orm import declarative_base where sqlalchemy.orm has no corresponding page and warngs, but declarative_base resolves correctly.
Expected behavior
Perhaps for successfully resolved imported items, the package or module in which it resides should not warn if there's no corresponding link for it.
That still leaves import sqlalchemy. Naively i might expect that to link to the root of the docs if there's otherwise no resolved link for it.
Steps to reproduce
Although, and this may still be user error, I'm seeing:
docs/source/experimental_tests.rst:69: WARNING: Inventory missing `sqlalchemy` when resolving `sqlalchemy` on line 1
docs/source/experimental_tests.rst:69: WARNING: Inventory missing `sqlalchemy` when resolving `sqlalchemy` on line 2
docs/source/experimental_tests.rst:69: WARNING: Inventory missing `sqlalchemy.ext.declarative.declarative_base` when resolving `declarative_base` on line 3
WARNING: Cannot locate modules: ..., 'sqlalchemy'

for
.. code-block:: python

   import sqlalchemy
   from sqlalchemy import Column, types
   from sqlalchemy.ext.declarative import declarative_base
   from sqlalchemy.orm import declarative_base  # or this

with
intersphinx_mapping = {
    "sqlalchemy": ("https://docs.sqlalchemy.org/en/14", None),
    ...

Column, types, sqlalchemy.ext.declarative, and the 2nd declarative_base are clickable.

Thanks for submitting! I might have misunderstood your details, so I'll try the example later myself. But at a glance everything seems to be working as intended, because we do want to link import statements as well. You didn't expect missing modules to warn as well, and I can see how that would be beneficial here, but I'm quite cautious to start ignoring them because arguably if you've asked for extra warnings you want them all. Similarly, leaving the top-level namespace out of the object inventory is a choice (or omission) by the library's developers.

.. currentmodule::

Could be, although I only know that it happens on .. automodule::.

from sphinx_codeautolink import clean_pycon

Fair enough, but as a library developer, if I wanted to be careful and make sure that all links work, I'd want to know that the top level namespace isn't referenced anywhere. I'd want to add it along with any submodules as well. And I'd want to structure my library so that the module links make sense and take a user to sensible locations, not just random modules where a class happens to be defined. I feel like the warnings help in that case.
But this doesn't help you, does it 😅 and I think having yet another configuration option for "show me warnings but not quite as much" seems a bit weird. So what's your current situation? Have you elevated warnings into errors in a CI Sphinx build? Would you consider just checking the warnings once and leaving them off once you've dealt with every case you have control over?

or link to the page that the import portion links to, but without the #link-target portion

I think we can't assume that the module is documented on the same page as its objects.

I was hoping to leave these one and set -W error to prevent people (me) from merging docs that have broken example code.
Naively it seems like the logic i think i want is (using vocab that hopefully matches your code and makes sense): If a given LinkContext.import_from does not successfully have an item in its corresponding inventory (happy for it to warn if it's missing inventory entirely, i.e. no intersphinx config) do not warn.
From my perspective, it seems like a progression of increasing strictness (rather than "show me warnings but not quite as much") especially because I can't actually avoid triggering this kind of warning because the from path is not optional. Although, I can appreciate not wanting a complex and hard to understand set of configurations.

That would be a nice use of the option. Btw, look out for sphinx-doc/sphinx#10110 for -W not working quite correctly in our case.
But, I have a slight issue with the proposition that we should use other missing inventory items (or a whole module) as the marker. Firstly, modules may have different names to the libraries that they are shipped with. A common one is scikit-learn which is imported as sklearn. So examining the intersphinx configuration could just lead to more confusion.
Maybe we could have a directive for suppressing warnings in a particular example. I think that would suppress all warnings. But I'll have to think about it. How would that sound? Not a promise though 😄

I dont think i'm suggesting using other missing items as a marker.
from sqlalchemy import Column

If Column links to something. Then clearly sqlalchemy is not actually missing (you traversed the sqlalchemy portion of the import to determine to what Column is referencing!), it's just that there's no general sqlalchemy page target, and you're encountering an otherwise impossible to avoid warning.
So i'm just suggesting taking into account whether the right hand side of import in a from ... import ...-style import links, as a mechanism for telling you whether the left-hand-side of the import's failure to import is actually a problem.

Thanks for clarifying. I'm not willing to dilute the value of our extra warnings by default though, so I've opened #104 to consider other ways of suppressing warnings. I still think that any failed inventory access should produce a warning if you've explicitly asked for it.


Add the burning script for AUC3

Please checking the commit "Add the burning script for AUC3"

@XzxEmbedded Thanks very much, merged with minor changes.


fix: use the correct field names in the monitoring example

The field types are fluentdSpec, fluentbitSpec etc. However the field names are just fluentd, fluentbit etc.

Thanks a lot for the PR!


Improve testing

Adds checks for getName and getURI, removes a check for HttpCachingBridgeAbstract (was removed earlier) and does some simplifications to the code logic of BridgeImplementationTest.
This PR has quite a few commits as I needed to merge master of RSS-Bridge to continue working, if it's easier I can rebase after you did the merge in the primary branch?

I already have some of these tests on my computer, but I need to finish some other checks. I will push them as soon as possible, like that you can see what I have already implemented.
I will also sync with the master's branch head.

The BridgeImplementationTest is now updated to work with the current master. I rebased this PR on your testing branch, so the history is clean.

The last commits fix the general testing. Everything should work as before, just with the current master. Some of the failing checks are fixed in master via https://github.com/RSS-Bridge/rss-bridge/commit/61b9c3eb48300a9934281b201fcde68fb17c7171


regexp_replace strips all substrings identical to the one matched by an expression with $, even if they aren't at EOL

SELECT regexp_replace('2020-04-17 08:15:00-04', '-[0-9][0-9]$', '');

yields:
2020-17 08:15:00

.... whereas
SELECT regexp_replace('2020-05-17 08:15:00-04', '-[0-9][0-9]$', '');

yields
2020-05-17 08:15:00

Fixed in 0.8.4


HDDS-11067. Capture Throwable execption in BackgroundService#PeriodicalTask

What changes were proposed in this pull request?
Currently BackgroundService#PeriodicalTask#run will capture Exception type exception and log warning message, change it to capture Throwable to log messages for all failure cases.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-11067
How was this patch tested?
The test will be covered by existing UTs.

@adoroszlai , sometime ago I hit one problem which was not captured by Exception when it first appeared.  But I cannot clearly remember the derails of the issue now.  This BackgroundService is widely used by services in OM, SCM and DN.  Just feel it's will save time of debug if it catches Throwable by default.

So do we want to continue running BackgroundService even in case of OutOfMemoryError and other critical problems?

Thanks @ChenSammi for the patch, @devmadhuu for the review.


feat: add logseq-mind-map plugin

Submit a new Plugin to Marketplace
Plugin Github repo URL: https://github.com/b-yp/logseq-mind-map
Github releases checklist

[x] a legal package.json file.
[x] a valid CI workflow build action for Github releases. (theme plugin for this).
[x] a release which includes a release zip pkg from a successful build.
[x] a clear README file, ideally with an image or gif showcase. (For more friendly to users, it is recommended to have English version description).
[x] a license in the LICENSE file.

Hi @b-yp I just found the Gtihub release is missing. https://github.com/b-yp/logseq-mind-map/releases

Hi @b-yp I just found the Gtihub release is missing. https://github.com/b-yp/logseq-mind-map/releases

I just updated.

@xyhp915     Hello, the Github release was deleted because a dependency had an outdated version, which was detected as a vulnerability by Github. After upgrading the dependency, I repackaged it, and the code was merged. However, why is it still not searchable in Logseq? Is there anything else I need to do?

@xyhp915 Hello, the Github release was deleted because a dependency had an outdated version, which was detected as a vulnerability by Github. After upgrading the dependency, I repackaged it, and the code was merged. However, why is it still not searchable in Logseq? Is there anything else I need to do?

I just found out it's searchable now, so please disregard this message.


Multiple config files

This addresses the use case where we define a set of "global" labels we wish to sync across a number of repos as well as a set of "local" labels that are repo specific.
But accepting multiple config files we can join these "global" and "local" labels and also enable the delete-other-labels.

@EndBug thanks for the quick review!


Where I can find more code written in Lemon?

All I can find is two files with less than 10 lines each.

the Lemon's website is written in Lemon, https://github.com/lemon-lang/website ,you may also want checkout the libraries(written in C) https://github.com/lemon-lang/libraries


Extend support for iops_read and iops_write requirements for disks during VM creation.

Rancher Server - Build from master
Extend support for readIops and writeIops  which can now be set for "disks" when creating VMs.

Tested with UI version - v1.1.5
We now have the ability to set iops_read and iops_write for disks during VM creation.


To add rock paper scissors game

Simple Js game to showcase the power of DOM in js using various js functions
Concepts Userd

Document.get.ElementById();
add event listner
arrow functions
dom
innerHTML

Plz assign it to me.

@Aayush987  I raised this issue to work on it

@Aayush987  I raised this issue to work on it

I am so sorry. I didn't know about it.

@nitishsaini706 already the same project lies in the repository so try to improve that if possible.
Closing this issue


CouchDB Fails to Start on Ubuntu 17.10

The CouchDB package from the official Ubuntu 17.10 package repositories currently fails to start through systemctl or directly using the CLI. I have tested this on my main machine using bare metal, as well as a fresh install with updated packages with only CouchDB installed in a VM.
Expected Behavior

The CouchDB systemctl process to start using the systemctl start * or systemctl restart * command, or using couchdb from the terminal.
Current Behavior

CouchDB fails to start, and systemctl status reports this:
   Loaded: loaded (/lib/systemd/system/couchdb.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2017-10-23 06:51:10 CDT; 1s ago
  Process: 1919 ExecStart=/usr/bin/couchdb (code=exited, status=1/FAILURE)
 Main PID: 1919 (code=exited, status=1/FAILURE)

Oct 23 06:51:10 devin-VirtualBox systemd[1]: couchdb.service: Main process exited, code=exited, status=1/FAILURE
Oct 23 06:51:10 devin-VirtualBox systemd[1]: couchdb.service: Unit entered failed state.
Oct 23 06:51:10 devin-VirtualBox systemd[1]: couchdb.service: Failed with result 'exit-code'.
Oct 23 06:51:10 devin-VirtualBox systemd[1]: couchdb.service: Service hold-off time over, scheduling restart.
Oct 23 06:51:10 devin-VirtualBox systemd[1]: Stopped System-wide CouchDB instance.
Oct 23 06:51:10 devin-VirtualBox systemd[1]: couchdb.service: Start request repeated too quickly.
Oct 23 06:51:10 devin-VirtualBox systemd[1]: Failed to start System-wide CouchDB instance.
Oct 23 06:51:10 devin-VirtualBox systemd[1]: couchdb.service: Unit entered failed state.
Oct 23 06:51:10 devin-VirtualBox systemd[1]: couchdb.service: Failed with result 'exit-code'.

If I attempt to execute sudo couchdb from the terminal, the process fails to start with this output:
Apache CouchDB 1.6.0 (LogLevel=info) is starting.
[error] [<0.123.0>] {error_report,<0.59.0>,
                     {<0.123.0>,supervisor_report,
                      [{supervisor,{local,couch_secondary_services}},
                       {errorContext,start_error},
                       {reason,
                        {'EXIT',
                         {undef,
                          [{crypto,rand_bytes,[16],[]},
                           {couch_uuids,random,0,
                            [{file,"couch_uuids.erl"},{line,33}]},
                           {couch_server,get_uuid,0,
                            [{file,"couch_server.erl"},{line,54}]},
                           {couch_httpd,start_link,2,
                            [{file,"couch_httpd.erl"},{line,119}]},
                           {supervisor,do_start_child,2,
                            [{file,"supervisor.erl"},{line,365}]},
                           {supervisor,start_children,3,
                            [{file,"supervisor.erl"},{line,348}]},
                           {supervisor,init_children,2,
                            [{file,"supervisor.erl"},{line,314}]},
                           {gen_server,init_it,2,
                            [{file,"gen_server.erl"},{line,365}]}]}}},
                       {offender,
                        [{pid,undefined},
                         {id,httpd},
                         {mfargs,{couch_httpd,start_link,[]}},
                         {restart_type,permanent},
                         {shutdown,brutal_kill},
                         {child_type,worker}]}]}}

=SUPERVISOR REPORT==== 23-Oct-2017::06:50:06 ===
     Supervisor: {local,couch_secondary_services}
     Context:    start_error
     Reason:     {'EXIT',
                     {undef,
                         [{crypto,rand_bytes,[16],[]},
                          {couch_uuids,random,0,
                              [{file,"couch_uuids.erl"},{line,33}]},
                          {couch_server,get_uuid,0,
                              [{file,"couch_server.erl"},{line,54}]},
                          {couch_httpd,start_link,2,
                              [{file,"couch_httpd.erl"},{line,119}]},
                          {supervisor,do_start_child,2,
                              [{file,"supervisor.erl"},{line,365}]},
                          {supervisor,start_children,3,
                              [{file,"supervisor.erl"},{line,348}]},
                          {supervisor,init_children,2,
                              [{file,"supervisor.erl"},{line,314}]},
                          {gen_server,init_it,2,
                              [{file,"gen_server.erl"},{line,365}]}]}}
     Offender:   [{pid,undefined},
                  {id,httpd},
                  {mfargs,{couch_httpd,start_link,[]}},
                  {restart_type,permanent},
                  {shutdown,brutal_kill},
                  {child_type,worker}]

[error] [<0.113.0>] {error_report,<0.59.0>,
                     {<0.113.0>,supervisor_report,
                      [{supervisor,{local,couch_server_sup}},
                       {errorContext,start_error},
                       {reason,
                        {shutdown,
                         {failed_to_start_child,httpd,
                          {'EXIT',
                           {undef,
                            [{crypto,rand_bytes,[16],[]},
                             {couch_uuids,random,0,
                              [{file,"couch_uuids.erl"},{line,33}]},
                             {couch_server,get_uuid,0,
                              [{file,"couch_server.erl"},{line,54}]},
                             {couch_httpd,start_link,2,
                              [{file,"couch_httpd.erl"},{line,119}]},
                             {supervisor,do_start_child,2,
                              [{file,"supervisor.erl"},{line,365}]},
                             {supervisor,start_children,3,
                              [{file,"supervisor.erl"},{line,348}]},
                             {supervisor,init_children,2,
                              [{file,"supervisor.erl"},{line,314}]},
                             {gen_server,init_it,2,
                              [{file,"gen_server.erl"},{line,365}]}]}}}}},
                       {offender,
                        [{pid,undefined},
                         {id,couch_secondary_services},
                         {mfargs,{couch_secondary_sup,start_link,[]}},
                         {restart_type,permanent},
                         {shutdown,infinity},
                         {child_type,supervisor}]}]}}

=SUPERVISOR REPORT==== 23-Oct-2017::06:50:06 ===
     Supervisor: {local,couch_server_sup}
     Context:    start_error
     Reason:     {shutdown,
                     {failed_to_start_child,httpd,
                         {'EXIT',
                             {undef,
                                 [{crypto,rand_bytes,[16],[]},
                                  {couch_uuids,random,0,
                                      [{file,"couch_uuids.erl"},{line,33}]},
                                  {couch_server,get_uuid,0,
                                      [{file,"couch_server.erl"},{line,54}]},
                                  {couch_httpd,start_link,2,
                                      [{file,"couch_httpd.erl"},{line,119}]},
                                  {supervisor,do_start_child,2,
                                      [{file,"supervisor.erl"},{line,365}]},
                                  {supervisor,start_children,3,
                                      [{file,"supervisor.erl"},{line,348}]},
                                  {supervisor,init_children,2,
                                      [{file,"supervisor.erl"},{line,314}]},
                                  {gen_server,init_it,2,
                                      [{file,"gen_server.erl"},
                                       {line,365}]}]}}}}
     Offender:   [{pid,undefined},
                  {id,couch_secondary_services},
                  {mfargs,{couch_secondary_sup,start_link,[]}},
                  {restart_type,permanent},
                  {shutdown,infinity},
                  {child_type,supervisor}]

{"init terminating in do_boot",{{badmatch,{error,{bad_return,{{couch_app,start,[normal,["/etc/couchdb/default.ini","/etc/couchdb/local.ini"]]},{'EXIT',{{badmatch,{error,{shutdown,{failed_to_start_child,couch_secondary_services,{shutdown,{failed_to_start_child,httpd,{'EXIT',{undef,[{crypto,rand_bytes,[16],[]},{couch_uuids,random,0,[{file,"couch_uuids.erl"},{line,33}]},{couch_server,get_uuid,0,[{file,"couch_server.erl"},{line,54}]},{couch_httpd,start_link,2,[{file,"couch_httpd.erl"},{line,119}]},{supervisor,do_start_child,2,[{file,"supervisor.erl"},{line,365}]},{supervisor,start_children,3,[{file,"supervisor.erl"},{line,348}]},{supervisor,init_children,2,[{file,"supervisor.erl"},{line,314}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,365}]}]}}}}}}}},[{couch_server_sup,start_server,1,[{file,"couch_server_sup.erl"},{line,98}]},{application_master,start_it_old,4,[{file,"application_master.erl"},{line,273}]}]}}}}}},[{couch,start,0,[{file,"couch.erl"},{line,18}]},{init,start_em,1,[]},{init,do_boot,3,[]}]}}
init terminating in do_boot ({{badmatch,{error,{bad_return,{_}}}},[{couch,start,0,[{_},{_}]},{init,start_em,1,[]},{init,do_boot,3,[]}]})

Crash dump is being written to: erl_crash.dump...done

Steps to Reproduce (for bugs)

Install Ubuntu 17.10
Update and upgrade packages through apt (optional)
sudo systemctl status couchdb

Context

I am a developer and I am working on an application that utilizes CouchDB as a no SQL database. Due to my dependency on this I will need to revert to using Ubuntu 17.04 or 16.04 to continue my development.
Your Environment

Version used: 1.6.0
Operating System and version (desktop or mobile): Ubuntu 17.10

CouchDB 1.6.x does not support the version of Erlang that ships with 17.10. You will need to install an older version of Erlang, possibly from https://packages.erlang-solutions.com/ .

Which version of Erlang i have to install ?
thanks

Erlang 17 or older for 1.6.1.

I downgraded the version of erlang but it still does't work. can please help me ?

File a ticket with Ubuntu. We are not responsible for that package, sorry.

Follow this post to solve your problem
https://medium.com/@tomiwatech_45998/installing-couchdb-on-ubuntu-17-10-18148e2eb846

@tomiwatech Your article really helped. Thanks. Almost downgraded my Erlang and Ubuntu

@tomiwatech @jmziya I'm the one who filed the bug with Ubuntu that helped get that repo created. If you want to follow the bug and progress from Ubuntu as well as the System76 developer that created that repo, go here. https://bugs.launchpad.net/ubuntu/+source/couchdb/+bug/1729305


Upgrade to Swift 2.3

No source changes; just a project update.

@tomtaylor, any chance you could merge this PR? The library will become compatible with Xcode 8 while remaining compatible with Xcode 7.3.

Thanks!


Bump lmdb-rkv-sys to the latest revision

See meilisearch/lmdb-rs#10

Thanks for the PR @jirutka anyway, I saw you had made some of them in different repos for a couple of days! Thanks for your involvement in the whole project, it's really appreciated 😄


Remove the widlparser Git submodule?

The .gitmodules file doesn't seem to be used, and widlparser is in 'bikeshed' instead of 'lib'.

Ah, indeed. Removed, thanks!