问题标签 [orphan]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - Couchbase & Spring boot - DefaultOrphanResponseReporter - 观察到孤儿响应
我正在运行一个Spring Boot
具有Couchbase
数据库的应用程序。在应用程序日志中,我看到了数百条这样的记录:
[cb-orphan-1] [31mWARN [0;39m [32mc.ccctDefaultOrphanResponseReporter[0;39m - 观察到孤立响应:[{“top”:[{“r”:“10.250.17.53:8092”,“s”: "view","c":"13963D4B3G6AFE45/FFFFFFFF8F4D718C","l":"10.123.0.197:36530"}],"service":"view","count":1}
它们的c
值彼此不同,并且它们的值具有不同的 IP 和端口l
。这些日志记录之间存在几秒钟的时间差。
在找到这篇建议应用程序中的其他地方应该有超时的帖子后,我在日志中查看了此类但没有发现任何超时错误。
- 我怎么知道导致超时的查询是什么?
- 有没有办法让这个警告更冗长?
- 代表什么
"c":"13963D4B3G6AFE45/FFFFFFFF8F4D718C"
?
postgresql - 如何保持数据库和对象存储一致以避免孤立对象?
我正在编写一个在线文本编辑器。我想允许用户在文档中添加内嵌图像和视频。我正在努力以可靠的方式实现这一点。
目前的基础设施:
- 文档数据库(postgres)(文本、标题、作者、引用的媒体对象列表
S3
) - 存储图像/视频/文件的对象存储 (S3)
当前流量:
- 用户创建一个新文档
- 用户进行更改,但不保存。这些更改存储在其中,
localStorage
因此它们不会在刷新时丢失。 - 用户附上一张图片
- 图像在上传到
S3
(或等效)时显示加载指示符 - 用户保存文档,数据保存到数据库中。不保存对象,只保存
S3
它们的 URL。
问题
- 如果用户在保存之前删除了文档,或者如果保存失败,则其中将存在
S3
未被任何文档引用的孤立文件。 - “删除文档”操作现在必须从 Postgres和
S3
. 由于您无法跨两个完全不同的服务进行事务,因此可以想象 postgres 删除成功但S3
删除失败的情况,从而创建更多孤立对象。
解决方案的尝试
- 我尝试存储媒体
localStorage
并在保存文档时将它们全部提交。这将解决问题,但localStorage
仅限于 5-10mb,这太小了。 - 一个 reaper 守护进程,它查询
S3
数据库中的引用并将其与存储的对象交叉引用S3
以查找孤儿对象,它会自动删除这些孤儿对象。
收割者守护进程可以工作,但感觉就像一个黑客。我真的不想仅仅为了存储一些文件而管理一个全新的服务。有一个更好的方法吗?行业标准是什么?
如果重要的话,我使用的是 React+Typescript,文本编辑器是基于 DraftJS 构建的。
git - 修改提交以添加文件,导致孤立分支
基于以下git场景:
我有一个新的未提交文件,我想将它作为提交 C0 的一部分添加到 master 中。所以我所做的是检查master然后修改以便将文件添加到C0中。
一切看起来都找到了,但我遇到的问题是 C0 哈希发生了变化并导致 C1 丢失了引用。
我基本上是 git 新手,我确定我做错了什么。对于如何再次“链接”C0 和 C1,我将不胜感激。
可能是最佳实践,应该是在master中创建一个新的提交(C6),然后在develop中合并,但我想知道是否有办法为未来的情况解决这类问题,也许“修改”成当前提交是最好的选择。
mongodb - MongoDB:删除“孤立”文档?
我正在尝试删除跨集合的 mongodb 中的孤立文档。在集合“值”中,我有这样的文件:
集合“结果”中的哪些参考文档:
许多“结果”文件已被删除,导致“有价值”文件成为孤儿。如何找到所有孤儿并删除它们?
haskell - 如何让 GHC 将我的孤立实例“HasServer”和“HasClient”应用于“AuthProtect”?
我使用AuthProtect
来自servant的组合器:Servant.API.Experimental.Auth。那里没有太多代码,实例HasServer (AuthProtect tag)
在其中,servant-server
并且HasClient (AuthProtect tag)
在您使用的任何服务客户端中都存在。
我为一个项目使用servant-snap
了servant-server
一个自定义HasClient
实现,obelisk
其项目结构由三个 cabal 包组成:
- 前端(由 ghcjs 编译)
- common(由 ghcjs和ghc 编译)
- 后端(由 ghc 编译)
我曾经有一个自定义实现AuthProtect
以及包中的实例common
。但是,由于ghcjs ,common
既不能依赖servant-snap
也不能依赖。snap-core
现在我将HasServer
实例移到后端......没问题,对吧?错误的。一旦HasServer
实例成为孤立实例,ghc 就不再正确解析我的 api 类型。就好像孤立实例根本不存在。
这是为什么?
有什么,我能做什么?
git - Git新的孤立分支删除所有历史记录减小大小
我试图从头开始清理旧项目,但现在 .git 文件夹保留了我不需要的所有历史文件。
我解释了我所做的一切:
我开始在一个旧的存储库上工作。
几个月后,我重新开始了这个项目。因此,我没有创建新的存储库,而是创建了一个新的孤立分支并开始提交。
当我准备好第一个版本时,我想清理旧的东西只是删除分支(开发/主)并将新分支重命名为相同的分支(再次开发/主)
一切都很好,代码和git历史只有新代码。但我看到 .git 文件夹太大了,唯一的办法就是这么大是因为保留了所有历史记录。(项目代码库大小仅为 15MB。.git 文件夹大小为 800MB)。
如何删除旧对象。我在网上看到很多与 prune 和其他名称相关的 git 命令,但没有人帮助我。
我只想要与我第一次提交重新开始项目相关的对象。
firebase - 删除已删除父文档的 Firestore 孤立子集合文档
我已删除包含子集合的 Firestore 文档。使用@google-cloud/firestore,我如何引用子集合文档进行删除?
我知道 Firebase web ui 显示允许手动选择和删除孤立文档的幽灵父文档。我需要 NodeJs 的相同能力。
如果我不删除子集合文档,会造成什么危害?
msbuild - MsBuild 和处理(孤立的)目标输出
我对如何处理“过时”的 msbuild 输出工件感到有些困惑。
基本上我已经编写了一个在输入文件上创建聚合的目标。
每当目标聚合文件(及其以前Foo
的目标)发生更改时,这都会得到很好的处理,并得到正确更新。除非文件是聚合的最后一个成员。AggregationTargetMetadata
基本上,输入和X
映射的变化更新都Y
和预期的一样。更改也正确更新-但是永远停留在它的“旧”孤立状态。Z
X -> A , Y -> A, Z -> B
Y -> B
A
B
Z -> A
A
B
我的理解是这是预期的行为,因为B
现在不再是项目任何项目的成员(直接或传递)。
如果聚合只是动态地滑入构建过程,这将是半好的。遗憾的是,它们可能被用作其他事物的设计时间资源,因此通常聚合实际上是项目项本身,并且整个聚合逻辑仅用于更新聚合内容。
现在......我将如何识别“孤立”聚合?
我想我已经想出了一个解决方案,我可以扩展我的聚合以创建指标文件,在聚合之后执行另一个(非增量)目标,然后使用自定义 CodeFragment 任务(甚至是基于预构建的程序集)来检查对于没有源映射的标记...
总而言之,这感觉很科学。有没有更简单的方法?