背景:

云搜同一query多次查询,结果数目不一致,或者排序不稳定?

经过排查,结果数目不一致,是因为副本间数据不一致导致(build请求edoc偶发超时),而云搜的svc模式并不能保证同一个query落到一个副本上,所以出现了同query多次请求结果变化

而,排序不稳定,部分是因为,当多个doc打分相同的情况下,排序规则是根据索引中的docid来排的(注意,非主键id,而是从1开始算的),此docid从1开始根据如索引时间来递增,而在多副本的的build中,不同doc进入索引的时机并不能保证!

问题:

1: svc name 请求的随机性问题

如果svc 到pod 能保证hash 规则,那么所有的问题都不会发现,但问题并未真正解决

2: build如何保证不超时?

目前定位到的现象是,build请求edoc,请求到达edoc就已经超过了超时阈值3s,edoc的请求耗时在ms级别,所以不是edoc处理逻辑的问题,而是网络请求的问题:

a: 是否是edoc 节点太少?

b: edoc svc 模式负载不均,有多大的影响?

c: 是否在集群网络中svc name 请求有天然的缺陷?

3: 快速修复策略

加大超时阈值,重试次数 @hxx 无法评估能解决到什么地步

补发流程,udp 发送出来,使用外部工具进行补

记一次管道流的问题定位过程相关推荐

  1. 并发编程线程通信之管道流

    前言 在并发编程中,需要处理两个问题:线程之间如何通信及线程之间如何同步.通知是指线程之间以何种机制来交换信息.在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递. 在共享内存的并发模型里, ...

  2. IO知识点整理(序列化,管道流,数据流,字节数组流,与编码)

    一:序列化的问题 1.序列号的使用问题 关于在序列化中的序列号的使用问题,一般要是使用. 因为,每次要序列化的类产生都会产生一个一个新的序列号,如果将这个类的程序修改后,就会产生新的序列号,以前序列化 ...

  3. 管道流 pipedinputstream

    public class StreamDemo3 { public static void main(String[] args) { try { //管道流 PipedInputStream in ...

  4. Java IO 之 管道流 原理分析

    概述 管道流是用来在多个线程之间进行信息传递的Java流. 管道流分为字节流管道流和字符管道流. 字节管道流:PipedOutputStream 和 PipedInputStream. 字符管道流:P ...

  5. JAVA的IO编程:管道流

    掌握线程通讯流(管道流)的使用 管道流的主要作用是可以进行两个线程间的通讯,分为管道输入流(PipeOutputStream)和管道输出流(PipeInputStream). 如果要想进行管道输出,则 ...

  6. 黑马程序员-10 IO流2 File,properties,合并流,对象持久化,管道流,RandomAccessFile...

    ------- android培训.java培训.期待与您交流! ---------- File 将文件和文件夹封装成对象 File类常见方法: 1,创建. boolean createNewFile ...

  7. nodeJS的管道流和链式流

    Stream 是一个抽象接口,Node 中有很多对象实现了这个接口 四种流类型 Readable - 可读操作. Writable - 可写操作. Duplex - 可读可写操作. Transform ...

  8. Java IO5:管道流、对象流

    前言 前面的文章主要讲了文件字符输入流FileWriter.文件字符输出流FileReader.文件字节输出流FileOutputStream.文件字节输入流FileInputStream,这些都是常 ...

  9. 系统学习 Java IO (六)----管道流 PipedInputStream/PipedOutputStream

    目录:系统学习 Java IO---- 目录,概览 PipedInputStream 类使得可以作为字节流读取管道的内容. 管道是同一 JVM 内的线程之间的通信通道. 使用两个已连接的管道流时,要为 ...

最新文章

  1. 软件测试培训分享:软件测试的职业发展方向有哪些
  2. PIC单片机入门_汇编/混编/C编比较
  3. 线性代数导论3——乘法与逆矩阵
  4. celery mysql 异步_celery配合rabbitmq任务队列实现任务的异步调度执行[celery redis]
  5. 百年古董电影秒变4K高清、60FPS,AI插值,还能着色
  6. Python数据结构与算法(2.4)——双向链表
  7. [2019杭电多校第六场][hdu6638]Snowy Smile(维护区间最大子段和)
  8. 继CryptoPunks、LOOT之后,GameFi+社交将是NFT的下一个爆发点
  9. Git清理历史大文件
  10. 《R语言与数据挖掘》③-①使用R语言进行中文分词
  11. Linux下c语言的图形编程
  12. 微信小程序 uChars统计图
  13. 基于单片机的心率脉搏检测电路设计(#0200)
  14. php 同步微信大量粉丝在数据表,微粉丝—— 微信加粉统计系统/复制统计准确率90%以上...
  15. new操作符做了哪些事情?
  16. 制作单词记录App(一)
  17. 新iPhone来了,旧手机在哪能卖个好价钱?
  18. C语言零基础入门习题(七)谁在说谎
  19. 解决光影精灵锁win键的问题
  20. 创想3d打印机切片软件Creality Slicer/Cura如何添加模糊皮肤打印选项

热门文章

  1. 大数据常用shell脚本之zk脚本
  2. 一、ESP-IDF库函数之GPIO
  3. Python小白的进阶之路---Day2
  4. 云计算简史(上)- 15分钟读完15年
  5. 移动端背景图软键盘的兼容
  6. Win10 系统不使用软件设置状态栏透明效果
  7. 双色球76期精确打击
  8. HTML 表格、表单和CSS初识
  9. 计算机外文翻译旅游网站,外文翻译--旅游路线及管理系统(适用于毕业论文外文翻译+中英文对照).doc...
  10. 福建高职单招本科学校计算机,纯数据!福建高职分类考生500分+能报哪些大学?附录取最低分...