- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
简而言之,我们有时会看到少量 Cloud Bigtable 查询重复失败(连续 10 次甚至 100 次)并出现错误 rpc error: code = 13 desc = "server closed the不发送预告片的流”
,直到(通常)查询最终起作用。
详细来说,我们的设置如下:
我们在 Google Compute Engine 上运行一组(< 10)Go 服务。每项服务leases tasks来自一对 PULL 任务队列。每个任务都包含一个大表行的 ID。任务处理程序执行以下查询:
row, err := tbl.ReadRow(ctx, <my-row-id>,
bigtable.RowFilter(bigtable.ChainFilters(
bigtable.FamilyFilter(<my-column-family>),
bigtable.LatestNFilter(1))))
如果查询失败,则任务处理程序简单地返回。由于我们以 10 到 15 分钟之间的租用时间租用任务,稍后租用将在该任务上到期,它将再次租用,我们将重试。这些任务的最大重试次数为 1000 次,因此可以在很长一段时间内重试多次。在少数情况下,特定任务会因上述 grpc 错误而失败。该任务通常每次都会因同样的错误而失败,它会连续运行数小时或数天,然后(似乎出乎意料地)最终成功(或任务用完重试次数并终止)。
由于这通常需要很长时间,因此似乎与服务器负载无关。例如,现在是周日早上,这些服务器的负载很轻,但我在跟踪日志时看到了很多这样的错误。来自 this answer ,我原本以为这可能是由于尝试查询大量数据,可能接近云bigtable将支持的最大限制。但是我现在看到情况并非如此;我可以找到许多示例,其中多次失败的任务最终成功并报告仅检索到少量数据(例如 <1 MB)。
我还应该看什么?
编辑:通过进一步的测试,我现在知道这是完全独立于机器(客户端)的。如果我在其中一台任务租赁机器上跟踪日志,等待“服务器关闭流而不发送预告片”错误,然后尝试一次性 ReadRow
查询来自另一台相同的 rowId,不相关的,完全未使用的机器,我反复遇到同样的错误。
最佳答案
此错误通常是由 more than 256MB of data 引起的在您的回复中。
但是,目前我们的服务器端错误处理代码中存在一个错误,允许在 HTTP/2 中使用一些无效字符。规范不允许的预告片。这意味着一些包含无效字符的错误消息将被视为此类错误。这应该会在明年初得到解决。
关于grpc - Google Cloud Bigtable : repeated grpc error code 13, 然后突然成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34252662/
为什么 BigTable 被构造为“family:qualifier”的两级层次结构?具体来说,为什么要强制执行此操作而不是仅使用列,并且例如建议用户将其限定符命名为“vertical:column”
Google 现在允许您使用 BigTable(在 Google Cloud Platform 中托管为名为“Cloud Bigtable”的产品)开发应用程序。但是,我找不到太多关于如何为其设计模式
Google Cloud Bigtable 看起来很棒,但是我对备份和冗余有一些疑问。 是否有备份数据以防止人为错误的任何选项? 集群当前在单个区域中运行 - 是否有任何方法可以缓解区域不可用的情况?
我们有一些用例,希望在 Google Bigtable 中长期存储大量数据: 产品开发期间 用于性能调整 用于演示 我们需要存储数据,但我们并不真正需要它始终“在线”。当前的成本瓶颈似乎是节点的成本,
我想衡量 Cloud Bigtable 在获取具有特定前缀的键的许多行计数方面的性能。 假设一个模式的行键在末尾带有 unix 时间戳,例如,event_id#unix_timestamp。 如果我需
根据Cloud Bigtable performance docs我应该有一定的数据量来保证最高的吞吐量。 在“性能较慢的原因”下它说: The workload isn't appropriate
BigTable 是否支持类似于 INCR 的原子增量操作?在 Redis 中? BT的Golang库中有这个函数-https://godoc.org/cloud.google.com/go/bigt
我们正在试用 BigTable 并进行容量规划。我们认为一个节点可以满足我们实现初期的需求,以后我们会根据需要添加更多节点。我唯一的问题是,我们是否需要多个节点才能提供高可用性? (我对什么是“节点”
我们已经设置了具有 5 个节点的 Bigtable 集群,GCP 控制台指出它应该支持 50K QPS @ 6ms 的读取和写入。 我们正在尝试加载一个大型数据集(约 8 亿条记录),其中约 50 个
我有一个只有一个列族的表,该列的 TTL 为 24 小时,但我需要在截止日期前删除一些数据。 为了实现这个目标,我伪造了插入日期。例如:如果我需要在插入后 1 小时删除一行,我将插入日期设置为 23
我有一个只有一个列族的表,该列的 TTL 为 24 小时,但我需要在截止日期前删除一些数据。 为了实现这个目标,我伪造了插入日期。例如:如果我需要在插入后 1 小时删除一行,我将插入日期设置为 23
我正在尝试使用以下 YAML 配置文件部署 Bigtable 实例: resources: - name: foo-bigtable-instance type: bigtableadmin.v2
有人可以提供一个真实的例子来说明如何在 Bigtable 中构建数据吗?请从搜索引擎、社交网络或任何其他熟悉的角度讨论,清楚而务实地说明行 -> 列族 -> 列组合如何优于传统的规范化关系方法。 最佳
我创建了一个 Google Bigtable 集群。我正在尝试连接以下 this tutorial我试图下载他们的 cli 项目并构建它,但是当我尝试执行任何命令时它都会失败。我还尝试构建更简单的连接
避免热点的 Bigtable 行键方案? 一家公司需要您在 Google Bigtable 中创建一个架构,以允许对过去 2 年的记录进行历史分析。收到的每条记录每 15 分钟发送一次,其中包含设备的
我们目前正在调查使用多个列族对我们的 bigtable 查询性能的影响。我们发现将列拆分为多个列族并不会提高性能。有没有人有过类似的经历? 关于我们的基准设置的更多细节。此时,我们生产表中的每一行都包
假设有一行包含列族和其中的列。该列族有一个 gc 策略,并且该列中的所有值都刚刚过期。 那么,该行会发生什么情况?该行会被垃圾收集器删除吗?或者,它仍然存在并且可以访问吗? 我检查了文档,但只发现 h
假设有一行包含列族和其中的列。该列族有一个 gc 策略,并且该列中的所有值都刚刚过期。 那么,该行会发生什么情况?该行会被垃圾收集器删除吗?或者,它仍然存在并且可以访问吗? 我检查了文档,但只发现 h
来自 CBT 的文档 // READING OP HERE timestamp := bigtable.Now() mut := bigtable.NewMutation() mut.Set(colu
来自bigtable的论文。 bigtable我读到了这个: Each METADATA row stores approximately 1KB of data in memory. With a
我是一名优秀的程序员,十分优秀!