Comments (6)
@tillig thanks for sharing :-)
from azure-cosmos-db-emulator-docker.
I reported this many many months ago and they said they were aware but still no fix.
from azure-cosmos-db-emulator-docker.
The same issue is happening on Hyper-V with current version 2.14.5. Recreation steps: install 2.14.5, the version without official release notes. Run. View Task Manager.
from azure-cosmos-db-emulator-docker.
same thing happening to me using the linux version
from azure-cosmos-db-emulator-docker.
I actually filed an Azure support ticket for this and got a response. Here's the relevant part of the response explaining why this is the case:
Behind all that Docker image, the ports and the Data Explorer, there's actually a Windows OS sandbox that runs more or less the same Windows 64-bit image and binaries that you will expect to run natively in on a Windows machine. Think of our container more or less like a "mini" Parallels or Virtual Box 🙂. In addition to all that, since the emulator relies on ports and HTTPS/TCP based listeners that constantly churn, looping, waiting and processing/executing requests, these also contribute to a high CPU usage. And since all these execution loops are Windows based and optimized, they are "translated"/"converted" into Unix kernel calls and that itself requires a lot more compute than when run natively.
My next question, of course, was whether there was an effort to port it to something more cross-platform so this wouldn't need to happen.
The Cosmos DB emulator has a very unique architecture, being very close to the actual implementation on the Azure. It allows the end user to configure their Cosmos clients just like when targeting the real thing; this is what makes it very appealing to our users actually. Some attempts were made to only provide a basic shim implementation of our Cosmos DB APIs, but they are lacking both the depth and the broad feature coverage.
So - they're aware of the problem, but the emulator itself isn't cross-platform and it sounds like trying to make it cross-platform is going to be a lot of work, prohibitively expensive, or both.
The suggestions as alternatives were:
- If you're on Windows, use the actual Windows/installable version of the Cosmos DB emulator, not the Docker version.
- Run a Windows VM and the Windows Cosmos DB emulator.
- Use the Cosmos DB free tier and develop against real Cosmos DB.
from azure-cosmos-db-emulator-docker.
Interesting, thanks for sharing. It also sounds like it's extremely unlikely we'll be getting an ARM version for Apple Silicon any time soon.
from azure-cosmos-db-emulator-docker.
Related Issues (20)
- CosmosDB linux emulator docker container fails to start HOT 24
- Emulator Container Limit HOT 6
- Unable to connect to Cosmos DB emulator through VM when using AllowNetworking HOT 13
- Error response from daemon: manifest for microsoft/azure-cosmosdb-emulator:latest not found: manifest unknown: manifest unknown HOT 1
- Container starts and immediately stops on macOS HOT 3
- Linux docker container runs but function app CosmosDBTrigger does nothing. Windows msi does work. HOT 2
- AZURE_COSMOS_EMULATOR_PARTITION_COUNT is ignored HOT 1
- Linux container fails to start up with SIGABRT HOT 8
- Emulator cosmosDB does not start successfully HOT 1
- Azure Cosmos Emulator docker image is broken HOT 13
- Container is not ready after startup HOT 5
- Gremlin support for Linux
- Unable to use Data Explorer with Windows Emulator and AllowNetworkAccess HOT 2
- Unable to use Mongo API when running in Docker Desktop HOT 1
- Large number of excludedPaths in index policy fails creation
- Trial expiring soon HOT 4
- Container hangs on... HOT 3
- Emulator Linux docker image is using an ancient version of CosmosDb emulator HOT 1
- Emulator Certificate Not Accessible - Emulator Not Running in Windows Container
- AZURE_COSMOS_EMULATOR_ENABLE_DATA_PERSISTENCE flag is not respected. HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from azure-cosmos-db-emulator-docker.