avatar
文章
84
标签
36
分类
29
主页
归档
标签
分类
关于我
flyingzc's blog
主页
归档
标签
分类
关于我

flyingzc's blog

Android 使用 ADB 调试
发表于2024-07-17|ADB
Android 使用 ADB 调试ADB 安装方式1: 通过 sudo apt install android-tools-adb 安装,试了下版本比较老了,用不起来. 方式2: 按照官网说明下载 Android Studio 或独立的 SDK 平台工具,两者都内含 ADB。下载完成后,配置环境变量. 12# vim ~/.bash_profileexport adb="/home/flyingzc/Android/Sdk/platform-tools/adb" 手机端设置:1.启用开发者选项2.启用USB调试 使用 ADB 连接手机方式1: USB 连接然后直接通过 usb 连接手机 和 电脑即可。运行 adb devices, 查看连接的设备。 12345➜ ~ adb devices* daemon not running; starting now at tcp:5037* daemon started successfullyList of devices attached5f541edd device 方式2: wifi...
Apache Omid TSO 组件实现原理
发表于2024-07-02|Omid
Apache Omid TSO 组件实现原理作用独立进程,处理全局事务之间的并发冲突。 流程TSOChannelHandler#channelRead -> AbstractRequestProcessor -> PersistenceProcessorHandler 总体流程123456789thread1 TSOChannelHandler#channelRead AbstractRequestProcessor#timestampRequest 接收 client 请求,创建 RequestEvent 并 publishthread2 AbstractRequestProcessor#onEvent 处理 RequestEvent 请求 AbstractRequestProcessor#handleRequest PersistenceProcessorImpl#addTimestampToBatch 创建 PersistEvent,当 batch 满了发送事件thread3 ...
Apache Omid Timestamp Oracle 组件实现原理
发表于2024-06-28|Omid
Omid Timestamp Oracle 组件实现原理作用生成全局单调递增的时间戳,支持获取操作和崩溃恢复。 功能1234567891011121314151617181920212223241.生成全局单调递增的时间戳(支持崩溃恢复) api next 返回下一个时间戳 getLast 返回最后一个分配的时间戳(当前时间戳) 实现方式 TimestampOracleImpl 单调递增的时间戳 在分配时间戳时,如果当前的最大时间戳已经用完,它会触发一个后台任务来更新最大时间戳 next: 分配下一个时间戳。如果当前的最大时间戳已经用完,它会等待后台任务分配新的时间戳 WorldClockOracleImpl 基于世界时间(System.timestamp)生成全局单调递增的时间戳2.存储时间戳 存储方式 in memory...
Android Termux 安装 Git 和 SSH
发表于2024-06-02|Termux
Android 使用 Termux 安装 Git 和 SSH背景在 Android 上使用 Git 客户端。可选工具:1.Pocket Git & MGit 客户端2.Termux 安装 Git(选用)下面介绍使用 Termux 安装 Git 和通过 SSH 远程连接 Termux。 1.换源运行 termux-change-repo 命令,通过图形界面替换成 TUNA/BFSU 镜像源即可。 2.ssh123456789101112131415161718192021222324# 安装open-sshpkg install openssh# 报错:CANNOT LINK EXECUTABLE "ssh-keygen": library "libcrypto.so.3" not found: needed by main executable# 解决:安装 openssl1.1-tool。这里必须要指定版本,否则报错 library “libssl.so.1.1“ not foundpkg install...
Apache Omid Idea 环境搭建
发表于2024-05-30|Omid
IDEA 搭建 Apache Omid 源码 DEBUG 环境Apache Omid 在 Apache HBase 之上提供了多行分布式事务的能力,支持全局 MVCC 功能。简单介绍编译过程。 1.下载 HBase2 并启动https://dlcdn.apache.org/hbase/ 配置环境变量 12export HBASE_HOME=/xxx/hbase-2.4.18export PATH=$PATH:$HBASE_HOME/bin: 2.编译代码编译1git clone https://github.com/apache/phoenix-omid 基于最新的 master af8e377affcd76b1cbde5cab3513731b23bd51fc 编译。 maven 依赖处理有几处编译报错,处理如下: 根 pom 里添加: 12345<dependency> <groupId>org.glassfish</groupId> <artifactId>javax.el</artifactId>...
MySQL 驱动 Add Batch 优化实现
发表于2024-03-26|MySQL
MySQL 驱动 Add Batch 优化实现MySQL 驱动会在 JDBC URL 添加 rewriteBatchedStatements 参数时,对 batch 操作进行优化。本文测试各种参数组合的行为,并结合驱动代码简单分析。 batch参数组合行为useServerPrepStmts 参数123PreparedStatement psmt = connection.prepareStatement("DELETE FROM t_order WHERE `order_id` = ?");psmt.setObject(1, 1);psmt.execute(); 开启:使用服务端预编译,先发送 prepared 语句,再发送 excute 语句 不开启:mysql 驱动会将占位符填充后,明文下发sql. 比如 DELETE FROM t_order WHERE order_id = ?; 语句 MySQL 驱动会下发 DELETE FROM t_order WHERE order_id = 1; allowMultiQueries...
ShardingSphere-SQL 解析 Issue 处理流程
发表于2024-03-05|ShardingSphere
ShardingSphere-SQL 解析 Issue 处理流程这是之前给社区写的 SQL 解析 Issue 的处理流程,可以帮助社区用户快速参与到 ShardingSphere-SQL 解析当中。 ShardingSphere SQL 解析 issue 列表 Issue 背景说明当前 Issue 使用自定义的爬虫脚本从对应的数据库官网上抓取 SQL Cases,然后交给 ShardingSphere 的解析引擎进行解析。对于解析失败的 SQL Case,每 3~5 条 SQL 作为一个 Issue。 由于是通过爬虫抓取的,所以不保证所有 SQL 本身就是正确的,请按照如下流程处理该 PR。 有些 SQL Case 可能已经在其他 PR 里被修复,对于已经可以执行的 Case 直接留言忽略即可。 如果该 SQL Case 已经可以成功运行,没有任何代码改动,那么不需要添加对应的 Test 断言文件。 总体流程 如果你打算参与该 Issue 的修复,欢迎在 Issue 下方留言,会有社区同学分配该 Issue。 比如留言:Hi, please assign this...
ShardingSphere Narayana XA 事务不回滚问题定位
发表于2024-02-29|Transaction
ShardingSphere Narayana XA 事务不回滚问题定位问题背景用户反馈,在使用 ShardingSphere + Narayana 执行 XA 事务时,发生报错:java.sql.SQLException: javax.transaction.RollbackException: TransactionImple.enlistResource - ARJUNA016064: The transaction is in an invalid state!。这个报错的含义简单来说就是这个事务已经在其他地方被标记成只可回滚了,不能再进行后续其他的操作。报错信息如下: 12345678910111213141516171819202122Caused by: java.sql.SQLException: javax.transaction.RollbackException: TransactionImple.enlistResource - ARJUNA016064: The transaction is in an invalid state! at...
ShardingSphere-XA事务无法恢复问题定位
发表于2024-02-28|Transaction
ShardingSphere-XA事务无法恢复问题定位问题背景在测试 ShardingSphere-Proxy 使用达梦数据库开启 XA 事务进行压测期间,kill 掉达梦数据库,等一段时间再重启达梦数据库,最终未完成的 XA 事务无法恢复,数据产生不一致。查看达梦上的 xid 一直有残留,没有被处理。使用 ShardingSphere-Proxy 结合其他主流数据库进行测试时无该问题。 通过日志可以看到在压测期间,挂掉达梦数据库之后,有大量连接报错。节选错误日志如下:比如下面这段日志,在执行 xa end 操作时,因为达梦数据库连接不上,达梦驱动报错如下: 1234567891011121314151617181920212223242526272829[WARN ] 2024-01-29 11:11:19.867 [Connection-82-ThreadExecutor] com.arjuna.ats.jta - ARJUNA016041: prepare on < formatId=131077, gtrid_length=64, bqual_length=36,...
ShardingSphere-inline表达式线程安全问题定位
发表于2024-02-27|ShardingSphere
ShardingSphere inline表达式线程安全问题定位问题背景春节期间发现 ShardingSphere 事务 E2E 偶发执行失败问题,并且每次执行失败需要执行很久,直到超时。最终定位发现 inline 表达式存在线程安全问题。本文记录定位并解决 inline 表达式线程安全问题的过程。 问题原因1.GroovyInlineExpressionParser 里有成员变量,存在并发修改,不能使用单例 SPI 实现;2.执行 Groovy 表达式时,需要执行 rehydrate 方法 copy Closure,使得每个 Closure 都有独立的执行环境,避免属性赋值时产生线程安全问题。 问题定位构造测试用例尝试复现问题构造测试用例,且在测试用例中添加线程相关信息,观察执行结果。 1234567891011121314151617181920212223242526272829@Test@SneakyThrows({ExecutionException.class, InterruptedException.class})void...
1234…9
avatar
flyingzc
不积跬步无以至千里
不积小流无以成江海
文章
84
标签
36
分类
29
Follow Me
公告
FlyingZC's Blog
最新文章
Apache Ignite 开启事务执行流程2025-10-11
Apache Ignite 分布式事务原理2025-09-18
Apache Ignite IDEA 环境搭建2025-09-11
ShardingSphere JDBC 使用 Druid 连接池 ResultSet 内存泄露分析2025-07-01
Jmeter 压测 ShardingSphere2025-07-01
分类
  • ADB1
  • AI1
  • Concurrent2
  • Coral2
  • Data Structure1
  • Docker1
  • Druid1
  • Dubbo7
标签
MySQL spring Redis Druid Termux H2 Ignite Omid Ubuntu Desktop ShardingSphere Dubbo Otter git Ubuntu Coral Hotspot Docker Concurrent SQL-Parse Spring Zookeeper SpringBoot Maven Linux Tool Database Data Structure Tomcat Paddle ADB springboot Android Jmeter Transaction Narayana Percolator
归档
  • 十月 2025 1
  • 九月 2025 2
  • 七月 2025 3
  • 四月 2025 1
  • 三月 2025 1
  • 十一月 2024 1
  • 十月 2024 4
  • 九月 2024 2
网站信息
文章数目 :
84
本站访客数 :
本站总浏览量 :
最后更新时间 :
©2020 - 2025 By flyingzc