

Stream data processing is an integral part of big data pipelines and artificial intelligence and machine learning workflows. The industry is developing an increasing number of applications that try to simplify data pipeline workflows connecting edge and IoT devices to data centers and/or cloud for data transformation and insights. NetApp® ONTAP® and ONTAP based products are trusted to bring scale, efficiency, and simplicity to stream data processing. ONTAP enables offloading of compute-intensive storage operations from the compute server, freeing up the server resources needed to optimize streaming broker activity.
Although NFS is ubiquitous for file workloads across data centers and cloud, it is not the top choice for data storage for today’s streaming applications like Kafka. These applications are often deployed on direct-attached Storage leveraging UNIX or Linux based filesystems (POSIX compliant) because many believe that network attached storage results in high latency due to network bottlenecks. However, given that Ethernet bandwidths have increased significantly over the last few years (we now talk of 400Gb and 800Gb Ethernet) and technologies like NFS over RDMA have been adopted, the myth about the network bottleneck can be debunked.
Another common silly rename issue crashes the application when resizing or repartitioning the Kafka cluster running on NFS. We refused to let that happen and challenged the status quo with our innovation. NetApp has made a significant contribution for applications like Kafka to leverage network-attached storage. We leveraged the “delete on last close” feature in the NFS4.x spec to fix the long-standing silly rename issue. NetApp engineers implemented the changes to both the NFS server side (ONTAP) and the Linux NFS client side (open source) and contributed the changes upstream.
We’ve got you covered. Although normal Kafka operations on NFS work fine even without the silly rename fix, the problem may surface when the Kafka cluster needs to be resized or repartitioned for load balancing or maintenance purposes. As existing topics get repartitioned across new brokers, Kafka creates a new copy of the partition on the destination broker and then deletes the redundant partition on the existing broker. Without the silly rename fix, this “delete” operation could result in a crash with NFS. In a typical Kafka workflow, the delete (unlink) operation can be performed even when the application (in this case Kafka) has open references to the file handle. A Unix (POSIX) filesystem allows the unlink to proceed only after all the references to the file are removed. However, NFS behaves in a different way. Because the NFS spec does not allow unlinking an open file, the NFS client orchestrates the workflow by intercepting the unlink command on an open file and renaming it to a special name. Then, on the last close of the open file, it removes the file. This rename is called the silly rename. Directories with such a renamed file cannot be deleted. This affects the Kafka repartitioning workflow.
With the “delete on last close” feature in NFSv4.x, the server is allowed to manage the unlink workflow and is able to orchestrate the operations in the right order without affecting the application. The protocol requires the NFS client and the server to agree on the capability to handle the unlink workflow, and therefore changes are required on both the NFS client and server side. NetApp engineers implemented the changes on the NFS server side (ONTAP) as well as the Linux NFS client side and contributed the changes upstream. The changes will be generally available in RHEL 8.7 and RHEL 9.1.
The ability to leverage NFS as storage for Kafka allows Kafka users to use the robust ONTAP ecosystem for data storage, resilience, and rich data management features for data retention and compliance. Offloading the storage operations to the storage system frees up the Kafka compute server to process compute-intensive broker functions. Because the data is persisted over the network (off the server), this could also reduce rebuild times in case of a broker relaunch. With ONTAP providing high bandwidth NFS storage, Kafka applications can now go faster. Because storage and rebuild operations are now offloaded to the storage system, Kafka brokers can be deployed with less compute, enabling Kafka deployments to be cheaper.
ONTAP is the first NFS server that implements the silly rename fix. The ONTAP rich data services can optimize and reduce the compute overheads of voluminous data transfers, making streaming and analytics workflows faster and cheaper.
Find out more about ONTAP capabilities and look for future updates.
아린담은 NetApp의 첫 번째 테크니컬 펠로우입니다. 그는 또한 NetApp 플랫폼 부문 수석 아키텍트 겸 부사장으로서 NetApp의 기술 비전, 전략 및 아키텍처를 이끌고 있습니다. 현재 차세대 AI 인프라 및 AI 데이터 플랫폼의 아키텍처 및 설계를 주도하고 있습니다. 아린담은 분산 스토리지 인프라 및 데이터 플랫폼 분야에서 25년 이상의 경력을 보유하고 있습니다. 그는 NetApp에서 19년간 근무하며 파일 시스템, 분산 스토리지 및 AI 분야에서 수많은 혁신을 이끌어 왔습니다. 아린담은 컴퓨터 데이터 시스템 및 기술 분야에서 500회 이상의 인용을 기록한 50건 이상의 특허 및 특허 논문을 저술하거나 공동 저술하였습니다.